From: Magnus Sjöstrand <mange@NO-SPAMORAMA.mjaunet.org>
To: pgsql-sql@postgresql.org
Subject: How do I access the current row from a trigger?
Date: Wed, 03 Jul 2002 10:28:14 +0200
Message-ID: <3D22B59E.2000503@NO-SPAMORAMA.mjaunet.org> (raw)
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.
consider the content:
id parent_id
0 NULL
1 0
2 1
3 2
and when I run the command
delete from sections where id=1;
I want this to trigger a function which will do
delete from sections where parent_id=( 'id' field in the current row[1] )
which in turn will trigger the same function to do
delete from sections where parent_id=( 'id' field in the current row[2] )
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.
Sincerely,
/Magnus Sjöstrand
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: mange@NO-SPAMORAMA.mjaunet.org
Subject: Re: How do I access the current row from a trigger?
In-Reply-To: <3D22B59E.2000503@NO-SPAMORAMA.mjaunet.org>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox