1
你可以是这样的:在触发功能如何使一个foreach变量PLPGSQL新老
foreach m slice 1 IN array NEW.*
loop
RAISE NOTICE 'var: %', m;
END LOOP;
,或者
FOR i IN NEW LOOP
RAISE NOTICE 'var: %', i;
END LOOP
你可以是这样的:在触发功能如何使一个foreach变量PLPGSQL新老
foreach m slice 1 IN array NEW.*
loop
RAISE NOTICE 'var: %', m;
END LOOP;
,或者
FOR i IN NEW LOOP
RAISE NOTICE 'var: %', i;
END LOOP
NEW
and OLD
are special record variables。你不能像通过数组一样循环它们。通过列
一种方式循环播放(知名)记录或行:转换为json
或jsonb
,然后:
CREATE OR REPLACE FUNCTION foo()
RETURNS trigger AS
$BODY$
DECLARE
js jsonb := to_jsonb(NEW);
col text;
BEGIN
FOR col IN SELECT * FROM jsonb_object_keys(js)
LOOP
RAISE NOTICE '%: %', col, js->>col;
END LOOP;
RETURN NEW;
END
$BODY$
LANGUAGE plpgsql VOLATILE;
什么是你的问题? –