我有一个表ParentTable
( id, Name, town
) 及其子表human
( mother, father
),其中两列都包含到父表的映射。
父表的列town
包含带有Town
( townid, townname
) 的外键引用,并且该城镇添加了外键引用。
现在的问题是我需要为人类表提供级联约束,但在 SQL Server 中,同一父表的多个列不能级联。所以我创建了这样的触发器,
create trigger DEL_Parent
ON Parent
instead of delete as
set nocount on
delete from human
where mother IN (select id from deleted)
or father IN (select id from deleted)
delete from Parent where id in(select id from deleted).
但是当我尝试执行触发器时,系统显示以下错误
无法在表 Parent 上创建而不是删除或更新触发器 DEL_Parent。这是因为该表有一个具有级联删除或更新的外键。
如何解决问题?提前致谢。