高手进来

kehuan 2003-11-12 10:46:05
有三个表
A(a int ,b int) primay key(a)
B(C int ,D int) primay key(c)
C(E int,F int,A int) primay key(E)
forign key B(D) 引用A(a) 且设置了级连更新
c(F) 引用B(C) 且设置了级连更新
然后我再在A和C之间建了一个关系 C(A) 引用 A(a) ,但是不能设置级连更新了。
为什么?


...全文
83 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
txlicenhe 2003-11-13
  • 打赏
  • 举报
回复
联机帮助:

多个级联操作
单独的 DELETE 或 UPDATE 语句可启动一系列级联引用操作。例如,假设有一个数据库包含三个表:TableA、TableB 和 TableC。针对 TableA 中的主键,用 ON DELETE CASCADE 定义 TableB 中的外键。针对 TableB 中的主键,用 ON DELETE CASCADE 定义 TableC 中的外键。如果 DELETE 语句删除 TableA 中的行,则该操作也将删除 TableB 中具有与 TableA 中所删除的主键匹配的任何外键中的所有行,然后删除 TableC 中具有与 TableB 中所删除的主键匹配的任何外键中的所有行。

由单个 DELETE 或 UPDATE 触发的一系列级联引用操作必须构成不包含循环引用的树。在 DELETE 或 UPDATE 所产生的所有级联引用操作的列表中,每个表只能出现一次。级联引用操作树到任何给定表的路径必须只有一个。树的任何分支在遇到指定了 NO ACTION 或默认为 NO ACTION 的表时终止。

welyngj 2003-11-12
  • 打赏
  • 举报
回复
只能有一个级连更新

22,298

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧