Trigger function that works with both updates and deletes?
Most of the trigger fuctions I've written work on new and updated records
referencing NEW. etc. I will need some of the trigger functions to work with
record deletions too.
First, when a record is being deleted, OLD refers to the rec just deleted
(or about to be deleted)?
Second, while I could write two trigger functions, one dealing with
add/update, the other with deletes, it's probably neater to have a single
trigger function and have it discriminate "am I being called for a delete,
or an add/update?" I don't know how to determine the type record change.
--
View this message in context: http://www.nabble.com/Trigger-function-that-works-with-both-updates-and-deletes--tf3943732.html#a11186941
Sent from the PostgreSQL - general mailing list archive at Nabble.com.
On Mon, Jun 18, 2007 at 06:07:37PM -0700, novnov wrote:
First, when a record is being deleted, OLD refers to the rec just deleted
(or about to be deleted)?
Correct.
Second, while I could write two trigger functions, one dealing with
add/update, the other with deletes, it's probably neater to have a single
trigger function and have it discriminate "am I being called for a delete,
or an add/update?" I don't know how to determine the type record change.
In PL/pgSQL you can use TG_OP. See "Trigger Procedures" in the
documentation:
http://www.postgresql.org/docs/8.2/interactive/plpgsql-trigger.html
--
Michael Fuhr
Second, while I could write two trigger functions, one dealing with
add/update, the other with deletes, it's probably neater to
have a single
trigger function and have it discriminate "am I being called
for a delete,
or an add/update?" I don't know how to determine the type
record change.
I use trigger arguments and determine what to do by:
if TG_ARGV[0] = 'value'
then
....
end if;
Allan
The material contained in this email may be confidential, privileged or copyrighted. If you are not the intended recipient, use, disclosure or copying of this information is prohibited. If you have received this document in error, please advise the sender and delete the document. Neither OneSteel nor the sender accept responsibility for any viruses contained in this email or any attachments.
Perfect, thanks
Michael Fuhr wrote:
On Mon, Jun 18, 2007 at 06:07:37PM -0700, novnov wrote:
First, when a record is being deleted, OLD refers to the rec just deleted
(or about to be deleted)?Correct.
Second, while I could write two trigger functions, one dealing with
add/update, the other with deletes, it's probably neater to have a single
trigger function and have it discriminate "am I being called for a
delete,
or an add/update?" I don't know how to determine the type record change.In PL/pgSQL you can use TG_OP. See "Trigger Procedures" in the
documentation:http://www.postgresql.org/docs/8.2/interactive/plpgsql-trigger.html
--
Michael Fuhr---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
choose an index scan if your joining column's datatypes do not
match
--
View this message in context: http://www.nabble.com/Trigger-function-that-works-with-both-updates-and-deletes--tf3943732.html#a11189206
Sent from the PostgreSQL - general mailing list archive at Nabble.com.