mike mike - 3 months ago 10
SQL Question

tsql script to add delete cascade to existing tables

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

Answer
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 there the childs are stored.
  • PARENT_TABLE_NAME: name of the table there 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