Thread: Triggers and RI-style behavior.

Triggers and RI-style behavior.

From
Mike Mascari
Date:
Hello.

I was wondering if anyone could give me an example of a CREATE TRIGGER
statement which mimics the behavior of the integrated R.I. in version 7. I
have the need to create triggers which do some RI-style things but cannot
be declared appropriately using ALTER TABLE ADD CONSTRAINT. I know there
are issues with MVCC which made the old refint.c obsolete. If, for example,
I want to update table2 when a field in table1 changes, should I use a
trigger like:

CREATE TRIGGER t_table1
AFTER UPDATE ON table1
FOR EACH ROW EXECUTE PROCEDURE bar();

where bar() is a PL/pgSQL block to update table2.

Or should it be FOR EACH STATEMENT?

Thanks for any information,

Mike Mascari
mascarm@mascari.com


RE: Triggers and RI-style behavior.

From
Mike Mascari
Date:
Oops. I see them now in pg_dump. Sorry for the noise.

Mike Mascari

-----Original Message-----
From:    Mike Mascari [SMTP:mascarm@mascari.com]
Sent:    Friday, February 16, 2001 8:29 AM
To:    'pgsql-general@postgresql.org'
Subject:    Triggers and RI-style behavior.

Hello.

I was wondering if anyone could give me an example of a CREATE TRIGGER
statement which mimics the behavior of the integrated R.I. in version 7. I
have the need to create triggers which do some RI-style things but cannot
be declared appropriately using ALTER TABLE ADD CONSTRAINT. I know there
are issues with MVCC which made the old refint.c obsolete. If, for example,
I want to update table2 when a field in table1 changes, should I use a
trigger like:

CREATE TRIGGER t_table1
AFTER UPDATE ON table1
FOR EACH ROW EXECUTE PROCEDURE bar();

where bar() is a PL/pgSQL block to update table2.

Or should it be FOR EACH STATEMENT?

Thanks for any information,

Mike Mascari
mascarm@mascari.com