【发布时间】:2022-08-18 14:46:56
【问题描述】:
我有两张桌子,第一张是隔间第二个是上隔间.请看下文。上面的隔间有 2 列,它们是外键并引用隔间表。当我将删除和更新操作设置为 2 个外键的级联时,我收到以下错误。
在表 \'AboveCompartment\' 上引入 FOREIGN KEY 约束 \'FK_AboveCompartment_Compartment1\' 可能会导致循环或多个级联路径。指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。
下面的 CompId 和 AboveCompId 是外键和对 Compartment 表的引用。我应该按照哪种方式添加删除级联?我使用了下面的触发器,但它也没有工作,并在下面添加了错误。
车厢上方
隔间
扳机
ALTER TRIGGER [dbo].[delFromCompartment] on [dbo].[Compartment] FOR DELETE AS DELETE FROM dbo.AboveCompartment WHERE CompId IN(SELECT deleted.Id FROM deleted)错误
标签: sql sql-server triggers foreign-keys cascade