Re: Deletion Recursively - Mailing list pgsql-sql

From Stephan Szabo
Subject Re: Deletion Recursively
Date
Msg-id 20011029094657.P9662-100000@megazone23.bigpanda.com
Whole thread Raw
In response to Deletion Recursively  (Michael Dyrby Jensen <dyrby@nork.auc.dk>)
List pgsql-sql
On Fri, 26 Oct 2001, Michael Dyrby Jensen wrote:

> Greetings.
>
> I am fairly new with the postgresql database.
> And I have run into a problem, which I hope someone can help me with.
>
> I am doing a school project, where I have chosen to learn to use this powerful tool, so I am using it to
> handle a fictive company of banner advertising.
>
> I need to register Advertisers, who got some Campaigns, and these
> campaigns have banners.
> I have an Advertiser table, a campaign table and a banner table.
>
> an advertiser hold references to the campaigns that he own, and the
> campaigns have references to the banners that they own.
>
> My question is then: "How do I make the Database delete the campaigns
> and banners linked to the advertiser, when I delete him?"
>
> A small example would really really help me alot.
> (with small explanation too ofcause =) )

If I'm understanding your problem correctly...
(untested, but I think I got the syntax stuff right)

create table advertiser (advid serial primary key,name varchar,...
);

create table campaigns (campid serial primary key,advid integer references advertisers(advid) on delete cascade on
updatecascade,-- Make a foreign key constraint to the advertiser-- table such that a campaign must either have a-- NULL
advidor a valid one at all times.  If the-- advid is updated in advertiser, all of the ones-- in campaign that
referencesthat one are updated-- (on update cascade).  If a row is deleted in-- advertiser, all rows in campaign that
reference--that one are deleted (on delete cascade)...
 
);

create table banners (bannerid serial,campid integer references campaigns(campid) on delete cascade on update
cascade,...
);




pgsql-sql by date:

Previous
From: "Ross J. Reedstrom"
Date:
Subject: Re: delete queires
Next
From: Esteban Gutierrez Abarzua
Date:
Subject: Re: Recursive select