【发布时间】:2013-02-28 04:00:03
【问题描述】:
我有一个表 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).
但是当我尝试执行触发器时,系统显示如下错误
不能创建代替删除或代替更新触发器 父表上的 DEL_Parent。这是因为该表有一个外国 具有级联删除或更新的键。
如何解决这个问题?提前致谢。
【问题讨论】:
标签: sql-server-2005