tsql script to add delete cascade to existing tables

mike picture mike · May 7, 2010 · Viewed 14.1k times · Source

is there a script that can be used to enable cascaded deletion for existing tables. Thanks.

Answer

VMAtm picture VMAtm · May 7, 2010
ALTER TABLE [wm].[TABLE_NAME]  WITH NOCHECK ADD  CONSTRAINT [FK_TABLE_NAME_PARENT_TABLE_NAME] FOREIGN KEY([FOREIGN_KEY])
REFERENCES [wm].[PARENT_TABLE_NAME] ([PRIVATE_KEY])
ON DELETE CASCADE
GO
  • TABLE_NAME: name of the table where the children are stored.
  • PARENT_TABLE_NAME: name of the table where the parents are stored. This placeholders can be equal
  • FK_TABLE_NAME_PARENT_TABLE_NAME: just name for the constraint
  • FOREIGN_KEY: field in the child table for the connection with the parents, for example - ParentID
  • PRIMARY_KEY: field in the parents table, for example - ID

ALTER TABLE [wm].[Thumbs]  WITH NOCHECK ADD  CONSTRAINT [FK_Thumbs_Documents] FOREIGN KEY([DocID])
REFERENCES [wm].[Documents] ([ID])
ON DELETE CASCADE
GO