【问题标题】:Cascade delete a table without the foreign key (parent key has a reference to the child key)级联删除没有外键的表(父键有对子键的引用)
【发布时间】:2021-02-09 07:15:29
【问题描述】:

我有一些设计不佳的表格可供使用。

我有一个父表 表1

ParentId| ChildId
1       | 1
2       | NULL
3       | 2

子外键可以为空。子表与父表也没有外键关系。

是否有级联删除选项,一旦删除父级,它也会删除子级?如果不是,我还有什么其他选择?

【问题讨论】:

标签: sql-server tsql


【解决方案1】:

在父表上写一个触发器,如果​​值被删除并且没有更多具有该子值的行,则从子表中删除该值

【讨论】:

  • 我真的希望我不必走触发路线,但这可能是处理它的唯一方法。
  • @user15124099 SQL Server 知道关系的唯一方法是你告诉它,因为你不知道它怎么知道级联任何东西?
猜你喜欢
  • 2012-09-03
  • 2019-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-11
相关资源
最近更新 更多