Re: ON DELETE CASCADE

From: Tim Perdue <tim(at)perdue(dot)net>
To: marie(dot)tuite(at)edisonaffiliates(dot)com
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: ON DELETE CASCADE
Date: 2002-12-16 02:29:40
Message-ID: 3DFD3A94.20102@perdue.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Marie G. Tuite wrote:
> Here is a function that I use to list fk(triggers) on a table. Execute the
> function to get the trigger name and then - drop trigger "trigger_name" on
> table_name;

Thanks for the function. Strangely enough, it appears the "extra"
triggers are gone all by themselves. It seems postgres appropriately
deletes or updates the old triggers when you alter the table the second
time, even if you did not drop the prior triggers.

>>I'm trying to comb through my database and add ON DELETE CASCADE to a
>>number of tables where I already have fkeys in place, but I'm having a
>>hard time.
>>
>>ALTER TABLE project_task DROP CONSTRAINT
>>"project_task_group_project_id_f" RESTRICT;
>>
>>ERROR: ALTER TABLE / DROP CONSTRAINT: project_task_group_project_id_f
>>does not exist
>>
>>ALTER TABLE project_task
>> ADD CONSTRAINT projecttask_groupprojectid_fk
>> FOREIGN KEY (group_project_id)
>> REFERENCES project_group_list(group_project_id) ON DELETE CASCADE;
>>NOTICE: ALTER TABLE will create implicit trigger(s) for FOREIGN KEY
>>check(s)
>>ALTER
>>
>>That command works, but now I think I have 2x as many triggers as I
>>want. How do I get rid of the original triggers?

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Robert Treat 2002-12-16 16:23:33 working around setQuerySnapshot limitations in functions
Previous Message Bret Hughes 2002-12-13 21:32:59 Re: UPDATE comparing dates and non-dates data