SQL 2005级联修改删除的问题

bsetsail 2013-01-05 03:23:42
表间的外键关系可以级联修改和删除,在本表内部建立的外键关系是不是不能级联修改和删除呢?
...全文
342 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
szm341 2013-01-05
  • 打赏
  • 举报
回复
实验了一下,确实不行,呵呵,循环嵌套有危险啊 消息 1785,级别 16,状态 0,第 1 行 将 FOREIGN KEY 约束 'fk_test_a_id' 引入表 'test_a' 可能会导致循环或多重级联路径。请指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。
曲军昌 2013-01-05
  • 打赏
  • 举报
回复
最好是在“数据库关系图”中建立,添加主表student(Id,Name,ClassId)和从表class(ClassId,ClassName) 然后将从表class的主键ClassId“小钥匙”图标拖拽到主表student上,在出现的对话框中:左侧是主键表class(ClassId),右侧是外键表student(ClassId)。命名符合规范以FK开头。 错误信息: DELETE 语句与 REFERENCE 约束"FK_OrderBook_Order"冲突。该冲突发生于数据库"MyBookShop",表"dbo.OrderBook", column 'OrderID'。 语句已终止。 问题: 如何实现级联删除效果? 解决方法: 设置完成后,为了实现删除从表的记录时主表中的外键数据一起删除的级联效果,可以在“属性-数据库设计-INSERT和UPDATE规范”中将“更新规则”和“删除规则”中选择“层叠”。 注意:所有涉及到的表都要设置“层叠”。
开启时代 2013-01-05
  • 打赏
  • 举报
回复
表内部外键关系 ,不可以级联操作。
szm341 2013-01-05
  • 打赏
  • 举报
回复
理论上应该可以,没有实践过这个情况,会产生递归删除吧

34,592

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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