我是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