PostgreSQL 的過程語言 PL/pgSQL 允許將 SQL 查詢的結果賦值給變量。這使得在存儲過程和函數中能夠高效地處理和操作數據。
為了將查詢結果存儲到變量中,PL/pgSQL 使用 SELECT INTO
語法。該語法的形式如下:
<code class="language-sql">SELECT select_expressions INTO target_variable FROM table_or_query_expression;</code>
示例:
以下 PL/pgSQL 函數嘗試根據輸入 ID 從表中檢索名稱:
<code class="language-sql">-- PL/pgSQL 函数 CREATE OR REPLACE FUNCTION test(x numeric) RETURNS character varying AS $BODY$ DECLARE name character varying(255); BEGIN -- 正确的方法 SELECT name INTO name FROM test_table WHERE id = x; RETURN name; EXCEPTION WHEN NO_DATA_FOUND THEN RETURN NULL; END; $BODY$ LANGUAGE plpgsql;</code>
在這個例子中,我們使用 SELECT INTO
將 test_table
表中的 name
字段的值賦給變量 name
。這確保了變量包含所需的結果。
SELECT
子句指定從 test_table
表中選擇的 name
列。 INTO
關鍵字後跟將存儲結果的變量 (name)。 錯誤處理部分添加了 EXCEPTION
塊,處理NO_DATA_FOUND
的情況,返回NULL
。
以上是如何將 PostgreSQL 查詢結果儲存在 PL/pgSQL 變數中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!