【发布时间】:2013-05-15 17:27:07
【问题描述】:
我在数据库中有两个表,我想用触发器级联删除。我曾经在关系中使用级联删除,但在这种情况下,我有更多的表,SQL Server 不允许我在关系中设置级联删除,因为它会创建一个循环。
所以我想创建一个触发器来删除关系中我无法设置级联删除的表的寄存器。
我使用这个触发器:
CREATE TRIGGER trg_myTrigger
ON Componentes
AFTER DELETE
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for trigger here
Delete from mytable2 where IDParentFromTable1 IN(select deleted.IDtable1 from deleted)
END
GO
但是我得到了外键错误。
我真的不知道为什么会出现这个错误。
谢谢。
【问题讨论】:
标签: sql-server triggers cascade