On 5/4/23 07:03, Justin wrote:


On Thu, May 4, 2023 at 9:49 AM DAVID ROTH <[email protected] <mailto:[email protected]>> wrote:

    __
    1) Can I create a trigger on a view?
    2) Do triggers cascade?

    Say I have an insert trigger on a table.
    And, I have an insert trigger on a view that references this table
    If I do an insert on the view, will both triggers fire?


Can not have triggers on Views,  Views use  RULES  which are DO INSTEAD.
https://www.postgresql.org/docs/current/rules.html <https://www.postgresql.org/docs/current/rules.html>

That is wrong.

See

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

The following table summarizes which types of triggers may be used on tables, views, and foreign tables:


Yes if you have an INSERT/UPDATE/DELETE rule on a view  that inserts into a table then that table's triggers will be executed.

Please note RULES should  be avoided beyond the use case for VIEWS. RULES are executed very early in the query tree; it is not trivial to write rules on Tables.

Thanks

--
Adrian Klaver
[email protected]



Reply via email to