From: | "Larry White" <ljw1001(at)gmail(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | passing parameters to a trigger function |
Date: | 2006-03-21 14:21:43 |
Message-ID: | d15ea14a0603210621p6229a81cs5bcdbaa6085c5c5c@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
I can't figure out how to pass parameters to a trigger function.
I checked the documentation and saw that trigger functions don't take
params in the usual fashion,
but couldn't find an example of a pl-sql trigger function that used
the original row data within the function.
What I want is an on update trigger that creates an entry in a second
table. The second (history) table has a subset of the columns in the
first.
Here's what I have so far:
-- THIS IS WRONG - CANT PASS PARAMS INTO TRIGGER FUNCTION
CREATE OR REPLACE FUNCTION audit_task ("param type declarations were
here") RETURNS TRIGGER AS '
-- create an audit trail record
BEGIN
-- Perform the insert
INSERT INTO TASK_h (id,
updated_by,
updated,
name,
description
)
VALUES ($1, $2, $3, $4, $5);
RETURN NULL;
END;
' LANGUAGE plpgsql;
-- THE TRIGGER
CREATE TRIGGER t_audit_task AFTER INSERT OR UPDATE ON task FOR EACH
ROW EXECUTE PROCEDURE audit_task();
So the question is, how do I access the row from the original table so I can
perform the insert?
Thank you much.
From | Date | Subject | |
---|---|---|---|
Next Message | Martijn van Oosterhout | 2006-03-21 14:27:10 | Re: [GENERAL] A real currency type |
Previous Message | Terry Lee Tucker | 2006-03-21 14:11:50 | Re: Order of Update - Second Try |