Синтаксическая ошибка при ВМЕСТО СОЗДАНИЯ ТРИГГЕРА - PostgresSQL - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь создать INSTEAD OF TRIGGER, следуя документации Postgres, но есть синтаксическая ошибка, и я не могу найти точное местоположение ошибки.

    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 View до создания триггера, и он продолжает выводить эту ошибку:

синтаксическая ошибка в строке «ССЫЛКА» или рядом с ней

Ответы [ 2 ]

1 голос
/ 18 июня 2020

Не может использоваться с триггером INSTEAD OF. См .:

https://www.postgresql.org/docs/current/sql-createtrigger.html

"Эта опция разрешена только для триггера AFTER, который не является триггером ограничения; ..."

0 голосов
/ 19 июня 2020

Ответ Адриана правильный.

Но непосредственной причиной синтаксической ошибки является то, что предложение REFERENCING должно стоять перед предложением FOR EACH.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...