关系如下 :
create table b
(
id int primary key identity,
name varchar(50),
)
create table c
(
id int primary key identity ,
name varchar(50),
)
create table d
(
id int primary key identity ,
cid int foreign key references c,
did int foreign key references b,
name varchar(50),
)
我用的是SQL 2005。
我在B表两个外键的关系中设置删除规则为层叠。可是报:《可能会导致循环或多重级联路径。请指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。》
这个错误!怎么解决啊
------解决方案--------------------
ON UPDATE 改成 NO ACTION
------解决方案--------------------
对于一个表中,两个字段都需要设置外键级联删除或更新的,只能设置一个字段,另一个字段必须通过其他方式处理,如:触发器。
SQL Server 2000存在这个问题,SQL Server 2005也存在这个问题。
------解决方案--------------------
支持▲
------解决方案--------------------
我在
B表 --or D???
两个外键的关系中设置删除规则为层叠。可是报:《可能会导致循环或多重级联路径。请指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。》
your sql can be successfully executed
if you add a fk on table b , and references table d ,you must add on delete no action or on update no action