【发布时间】:2021-01-08 23:24:53
【问题描述】:
CREATE OR REPLACE FUNCTION test()
RETURNS boolean security definer AS
$BODY$
BEGIN
with zzz as (select foo from data)
IF EXISTS (select 1 from zzz) THEN
return true;
ELSE
return false;
END IF;
END;
$BODY$
LANGUAGE plpgsql VOLATILE;
ERROR: syntax error at or near "IF" LINE 10: IF EXISTS (select 1 from zzz) THEN
问题出在哪里?
【问题讨论】:
-
您将
SQL(WITH) 与plpgsql(IF) 混合在一起。丢失WITH语句并使用PERFORM foo from data,然后根据Perform 使用IF FOUND ...
标签: sql postgresql plpgsql exists