[英]ERROR: syntax error at or near “IF”
我在函數中添加了IF
子句:
CREATE OR REPLACE FUNCTION get_path_set(IN pathset_id_in character,OUT id character,OUT pathset_id character,OUT utility double precision)
RETURNS SETOF record AS
$BODY$
BEGIN
IF EXISTS (SELECT 1 FROM "A" WHERE "ID" = $1) THEN
SELECT "ID", "PATHSET_ID", "UTILITY"
FROM "B"
where "PATHSET_ID" = $1;
END IF;
END;
$BODY$
LANGUAGE sql VOLATILE
COST 100
ROWS 1000;
它拋出一個錯誤:
ERROR: syntax error at or near "IF"
LINE 8: IF EXISTS (SELECT 1 FROM "A" ...
我想念什么嗎?
謝謝
當語言是SQL時,它需要是常規查詢,因此可以通過在WHERE
子句中移動IF
條件將邏輯轉換為普通SQL:
SELECT "ID", "PATHSET_ID", "UTILITY"
FROM "B"
WHERE "PATHSET_ID" = $1
AND EXISTS (SELECT 1 FROM "A" WHERE "ID" = $1)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.