instead of触发器创建时出现语法错误-postgressql

g2ieeal7  于 2021-07-26  发布在  Java
关注(0)|答案(2)|浏览(301)

我正试图根据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视图,它不断带来以下错误:
“引用”处或附近的语法错误

ulydmbyx

ulydmbyx1#

不能与一起使用 INSTEAD OF 触发。请参见:
https://www.postgresql.org/docs/current/sql-createtrigger.html
“此选项仅允许用于不是约束触发器的after触发器;…”

v7pvogib

v7pvogib2#

阿德里安的回答是对的。
但是语法错误的直接原因是 REFERENCING 条款必须在 FOR EACH 条款。

相关问题