Скрипт tsql для добавления каскада удаления к существующим таблицам - PullRequest
11 голосов
/ 07 мая 2010

есть сценарий, который можно использовать для включения каскадного удаления для существующих таблиц.Спасибо.

1 Ответ

15 голосов
/ 07 мая 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: имя таблицы, в которой хранятся дочерние элементы.
  • PARENT_TABLE_NAME: имя таблицы, в которой хранятся родители. Эти заполнители могут быть равны
  • FK_TABLE_NAME_PARENT_TABLE_NAME: просто название для ограничения
  • FOREIGN_KEY: поле в дочерней таблице для связи с родителями, for example - ParentID
  • PRIMARY_KEY: поле в таблице родителей, 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
...