65 lines
2.2 KiB
Transact-SQL
65 lines
2.2 KiB
Transact-SQL
SET ANSI_NULLS ON;
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON;
|
|
GO
|
|
|
|
IF OBJECT_ID(N'dbo.SceneManuscriptSources', N'U') IS NOT NULL
|
|
AND EXISTS
|
|
(
|
|
SELECT 1
|
|
FROM sys.foreign_keys
|
|
WHERE name = N'FK_SceneManuscriptSources_Scenes'
|
|
AND parent_object_id = OBJECT_ID(N'dbo.SceneManuscriptSources')
|
|
AND delete_referential_action_desc <> N'CASCADE'
|
|
)
|
|
BEGIN
|
|
ALTER TABLE dbo.SceneManuscriptSources DROP CONSTRAINT FK_SceneManuscriptSources_Scenes;
|
|
|
|
ALTER TABLE dbo.SceneManuscriptSources WITH CHECK
|
|
ADD CONSTRAINT FK_SceneManuscriptSources_Scenes
|
|
FOREIGN KEY (SceneID) REFERENCES dbo.Scenes(SceneID) ON DELETE CASCADE;
|
|
END;
|
|
GO
|
|
|
|
IF OBJECT_ID(N'dbo.SceneManuscriptSources', N'U') IS NOT NULL
|
|
AND NOT EXISTS
|
|
(
|
|
SELECT 1
|
|
FROM sys.foreign_keys
|
|
WHERE name = N'FK_SceneManuscriptSources_Scenes'
|
|
AND parent_object_id = OBJECT_ID(N'dbo.SceneManuscriptSources')
|
|
AND delete_referential_action_desc = N'CASCADE'
|
|
)
|
|
THROW 52010, 'Scene manuscript source hard-delete cascade was not applied.', 1;
|
|
GO
|
|
|
|
IF OBJECT_ID(N'dbo.ManuscriptStructuralChapterSources', N'U') IS NOT NULL
|
|
AND EXISTS
|
|
(
|
|
SELECT 1
|
|
FROM sys.foreign_keys
|
|
WHERE name = N'FK_ManuscriptStructuralChapterSources_Chapters'
|
|
AND parent_object_id = OBJECT_ID(N'dbo.ManuscriptStructuralChapterSources')
|
|
AND delete_referential_action_desc <> N'CASCADE'
|
|
)
|
|
BEGIN
|
|
ALTER TABLE dbo.ManuscriptStructuralChapterSources DROP CONSTRAINT FK_ManuscriptStructuralChapterSources_Chapters;
|
|
|
|
ALTER TABLE dbo.ManuscriptStructuralChapterSources WITH CHECK
|
|
ADD CONSTRAINT FK_ManuscriptStructuralChapterSources_Chapters
|
|
FOREIGN KEY (ChapterID) REFERENCES dbo.Chapters(ChapterID) ON DELETE CASCADE;
|
|
END;
|
|
GO
|
|
|
|
IF OBJECT_ID(N'dbo.ManuscriptStructuralChapterSources', N'U') IS NOT NULL
|
|
AND NOT EXISTS
|
|
(
|
|
SELECT 1
|
|
FROM sys.foreign_keys
|
|
WHERE name = N'FK_ManuscriptStructuralChapterSources_Chapters'
|
|
AND parent_object_id = OBJECT_ID(N'dbo.ManuscriptStructuralChapterSources')
|
|
AND delete_referential_action_desc = N'CASCADE'
|
|
)
|
|
THROW 52011, 'Structural chapter source hard-delete cascade was not applied.', 1;
|
|
GO
|