我正试图根据postgres文档创建一个instead-of触发器,但是有一个语法错误,我找不到确切的错误位置。
CREATE TRIGGER TRUpdateRuntime
INSTEAD OF UPDATE ON Papeis
FOR EACH ROW
REFERENCING NEW ROW AS N
UPDATE Movies SET RunTime=N.RunTime WHERE MovieId=Papeis.MovieId
我在创建触发器之前创建了papeis视图,它不断带来以下错误:
“引用”处或附近的语法错误
2条答案
按热度按时间ulydmbyx1#
不能与一起使用
INSTEAD OF
触发。请参见:https://www.postgresql.org/docs/current/sql-createtrigger.html
“此选项仅允许用于不是约束触发器的after触发器;…”
v7pvogib2#
阿德里安的回答是对的。
但是语法错误的直接原因是
REFERENCING
条款必须在FOR EACH
条款。