【发布时间】:2021-12-09 09:42:45
【问题描述】:
我有一个脚本,它将返回父表和子表的详细信息以及相应的键列以及表行的删除顺序。 下面是脚本返回的详细信息:
| Child_table| Child_column| Parent_Table| Parent_Column| Delete_Order|
|:-----------|:------------| ------------| -------------|-------------|
| Child1 | Child1_ID | Child2 | Child2_Id | 2 |
| Child2 | Child2_ID1 | Parent1 | Parent_ID | 1 |
| Child3 | Child3_ID | Parent1 | Parent_ID | 1 |
| Parent1 | Parent_ID | | | 0 |
上表中,Child1是Child2和Child2和@987654325的子表@ 是 Parent1 的子表。现在我需要按照Delete_Order 列中给出的降序删除从子表到父表的数据。
我需要帮助来编写一个动态查询来连接这些表和 根据主键数据删除 Child 和 Parent 表中的数据 来自父表。
【问题讨论】:
-
“我需要帮助”不是问题。您显然知道这涉及动态 sql,因此我建议您从以正确顺序在表上运行的游标开始。但是我怀疑这里缺少一些东西。您是否打算从这些表中删除所有行?
-
你试过什么?请粘贴您的代码,我们将为您提供帮助。请选择好你的标签,你选择了“mysql”和“sql-server”......哪个是真正的?
-
缺少参考 (FK) 列信息。
-
@SMor 是的,我正在使用动态查询,而不是使用游标,我正在尝试 while 循环。是的,我正在删除所有行。
-
@Carlos 我正在尝试但不确定如何动态加入这些多个表。它适用于 sql-server,因此我删除了 my-sql。谢谢
标签: sql sql-server dynamic-sql