Re: How do I access the current row from a trigger? - Mailing list pgsql-sql

From Stephan Szabo
Subject Re: How do I access the current row from a trigger?
Date
Msg-id 20020703164001.X11710-100000@megazone23.bigpanda.com
Whole thread Raw
In response to How do I access the current row from a trigger?  (Magnus Sjöstrand <mange@NO-SPAMORAMA.mjaunet.org>)
List pgsql-sql
On Wed, 3 Jul 2002, [ISO-8859-1] Magnus Sj�strand wrote:

> Hi,
>
> I have a table as:
> create table sections (
>      id           serial not null primary key,
>      parent_id    references sections(id)
> );
>
> there is only one row where the parent_id is NULL, and that is the root
> section, all others refers to a section. Now I want to create a trigger,
> so that whenever I delete a section I can delete all sections that has
> the deleted section as parent, which in turn will run the triggers for
> the deleted sections. Thus I will be able to clear an entire branch with
> only one SQL command from the client.

How about just adding ON DELETE CASCADE to the references constraint?

But that doesn't answer the general question about access, so...

> is there any way to do this in PostgreSQL? I couldn't find a way of
> refering to the current row in a trigger in the postgresql reference.

I believe it's somewhat dependant on the procedural language used
to define the trigger function.  In plpgsql, you should be able to use OLD
and NEW to get column values like OLD.id in the case of an after delete
trigger.






pgsql-sql by date:

Previous
From: Mark Frazer
Date:
Subject: Possible Bug regarding temp tables (sql or psql?)
Next
From: Kevin Brannen
Date:
Subject: bit field changes in 7.2.1