【发布时间】:2017-09-04 23:57:11
【问题描述】:
所以我现在处境艰难(至少对我而言)。我是一名新程序员,我在一家公司担任初级程序员。我有一项任务,我必须执行以下操作:
删除父项时,必须删除所有关联的子任务。例如:在上表中,如果用户删除“父母 1”,则应删除所有子/孙/曾孙以及与该孩子关联的所有其他人。
所以在这种情况下,如果用户删除了“父 1”。 - Parent 1 应与 Child 1、Child 2、Child 3、GrandChild 1、GrandChild 2、GrandChild 3、GrandChild 4 一起删除。
如果用户删除 Child 2, - 孙子 5 应该被自动删除。
我不确定如何编写可以执行此操作的 SQL 脚本?
有什么建议吗?我在 MS SQL Server 上运行此查询
【问题讨论】:
-
对于 Oracle,请参阅 this 页面。
-
只需向同事寻求帮助和一些辅导。
-
我很困惑——你的标题是 T-SQL——通常是 MSSQL,你的标签是 Oracle——还是只有我?
-
如果这始终是业务规则,则可能应该定义“on delete cascade”外键。然后你只需删除父级。
标签: php sql sql-server