diff options
author | Bruce Momjian <bruce@momjian.us> | 2005-12-09 19:39:43 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2005-12-09 19:39:43 +0000 |
commit | 24cea6563434f045232cd79d1a87438391898a17 (patch) | |
tree | 7a70f855e69969114cef2d043c8b96bc39c37784 | |
parent | 2eed0afc0cf23469110dc7798ac0e2d9ba4c4809 (diff) | |
download | postgresql-24cea6563434f045232cd79d1a87438391898a17.tar.gz postgresql-24cea6563434f045232cd79d1a87438391898a17.zip |
Add documentation about the behavior of BEFORE triggers and referential
integrity actions.
Stephan Szabo
-rw-r--r-- | doc/src/sgml/ref/create_trigger.sgml | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/doc/src/sgml/ref/create_trigger.sgml b/doc/src/sgml/ref/create_trigger.sgml index cbf51f8b864..6922d2a4790 100644 --- a/doc/src/sgml/ref/create_trigger.sgml +++ b/doc/src/sgml/ref/create_trigger.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/ref/create_trigger.sgml,v 1.42 2005/11/01 21:09:50 tgl Exp $ +$PostgreSQL: pgsql/doc/src/sgml/ref/create_trigger.sgml,v 1.42.2.1 2005/12/09 19:39:43 momjian Exp $ PostgreSQL documentation --> @@ -241,13 +241,25 @@ CREATE TRIGGER <replaceable class="PARAMETER">name</replaceable> { BEFORE | AFTE function that executes the desired commands. </para> </listitem> + </itemizedlist> </para> <para> SQL specifies that multiple triggers should be fired in time-of-creation order. <productname>PostgreSQL</productname> uses - name order, which was judged more convenient to work with. + name order, which was judged to be more convenient. + </para> + + <para> + SQL specifies that <literal>BEFORE DELETE</literal> triggers on cascaded + deletes fire <emphasis>after</> the cascaded <literal>DELETE</> completes. + The <productname>PostgreSQL</productname> behavior is for <literal>BEFORE + DELETE</literal> to always fire before the delete action, even a cascading + one. This is considered more consistent. There is also unpredictable + behavior when <literal>BEFORE</literal> triggers modify rows that are later + to be modified by referential actions. This can lead to contraint violations + or stored data that does not honor the referential constraint. </para> <para> |