0
当我尝试更新时,出现错误。任何帮助,高度赞赏!更新前的PostgreSQL触发器
CREATE OR REPLACE FUNCTION test_x(value integer)
RETURNS trigger AS
$BODY$
DECLARE
BEGIN
update backups.scrap_v16_sah_mil_hur_bak set value = '-99' where scrap_durum =1 and (char_length(value) < 5 or value= '' or value is null or value like '%Belir%' );
RETURN value;
END;$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION test_x(value)
OWNER TO postgres;
GRANT EXECUTE ON FUNCTION backups.scrap_v16_sah_mil_hur_bak(value) TO public;
GRANT EXECUTE ON FUNCTION backups.scrap_v16_sah_mil_hur_bak(value) TO postgres;
CREATE TRIGGER test_x
BEFORE UPDATE
ON backups.scrap_v16_sah_mil_hur_bak
FOR EACH ROW
EXECUTE PROCEDURE test_x();
该错误消息是
ERROR: trigger functions cannot have declared arguments HINT: The arguments of the trigger can be accessed through TG_NARGS and TG_ARGV instead. CONTEXT: compilation of PL/pgSQL function "test_x" near line 1
此代码我从另一台服务器获取数据。首先,我从服务器获取数据,稍后检查传入的数据。如果数据的长度小于5或空值,我想更改新值。我怎样才能做到这一点? İn这种方式谢谢你的回答。 – SezKo