PL/pgSQL triggers ON INSERT OR UPDATE
Hello, I'm trying to set up a trigger on insert or update
but when using the predefined variable ``OLD'' I get a
NOTICE from the trigger function about OLD not being defined yet.
Of course OLD is not defined when the function is triggered on INSERT
event, and I did not mention it if not inside a conditional block
checking for the TG_OP variable being 'UPDATE'.
For better understanding here is some code:
BEGIN
IF TG_OP = 'UPDATE' THEN
IF OLD.id <> NEW.id THEN
-- do the work
END IF
END IF;
END;
Even when TG_OP != 'UPDATE' (INSERT event) I still get an error
message from the pl/pgsql compiler (the first time the trigger is fired).
What should I do then ? Is it still possible to use the same function
for UPDATE OR INSERT events ?
TIA
--san;
First, I may be wrong but I do think they would prefer if you did not cross-post (especially to hackers).
Second I think it probably make more sense to make two different triggers here.
If you really wanted to do it that way you might want to try executing that part.
Regards,
Aasmund.
On Mon, 22 Oct 2001 23:25:44 +0200, san@cobalt.rmnet.it wrote:
Hello, I'm trying to set up a trigger on insert or update
but when using the predefined variable ``OLD'' I get a
NOTICE from the trigger function about OLD not being defined yet.Of course OLD is not defined when the function is triggered on INSERT
event, and I did not mention it if not inside a conditional block
checking for the TG_OP variable being 'UPDATE'.For better understanding here is some code:
BEGIN
IF TG_OP = 'UPDATE' THEN
IF OLD.id <> NEW.id THEN
-- do the work
END IF
END IF;
END;Even when TG_OP != 'UPDATE' (INSERT event) I still get an error
message from the pl/pgsql compiler (the first time the trigger is fired).What should I do then ? Is it still possible to use the same function
for UPDATE OR INSERT events ?TIA
--san;
---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster
Aasmund Midttun Godal
aasmund@godal.com - http://www.godal.com/
+47 40 45 20 46
Import Notes
Reply to msg id not found: 200110222125.XAA30632@cobalt.rmnet.itonMon22Oct2001232544+0200