我是PGSQL的新手,并试图在查询结果的基础上迭代数据库函数中启动一个循环,如下所示。我正在使用8.2版本。在if条件下基于查询结果的循环语法
CREATE OR REPLACE FUNCTION demo(text)
RETURNS SETOF activityhistoryview
LANGUAGE plpgsql STABLE
AS $_$
DECLARE
tilldate ALIAS for $1;
actrec revpro_500.activity%ROWTYPE;
BEGIN
IF tilldate != '' THEN
FOR actrec IN
SELECT activity.* from revpro_500.activity WHERE activity.householdid = 950
LOOP
ELSE
FOR actrec IN
SELECT activity.* from revpro_500.activity WHERE activity.householdid = 500
LOOP
END IF;
BEGIN
/* rest code goes here */
END
END LOOP;
RETURN;
END;$_$;
执行上面的函数后,我得到下面的错误。
错误:在语法错误或接近 “ELSE”
我是缺少在这里?
如果你是新到PostgreSQL,那么为什么使用8.2版这已经是5年过去的EOL? PG 8.2比iPhone老! – Patrick
@patric:这是一个滞后产品,我正在致力于 – deltaforce