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?
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 |