3

我目前有一个删除问题。我们无权对记录启用级联删除。我有用户表,其中 userId 是大约 20 个不同表中的引用。我希望能够编写一个动态查询,该查询将递归查找所有引用 userId 的表并删除这些表(对于每个表,它都必须找到自己的外键并删除它们),所以基本上是一个递归函数/将表名作为参数和主键 id 并将执行级联删除的过程。任何脚本可以做到这一点?我可以在 information_schema 上运行查询以检索 User 表的一级依赖关系,但我需要以某种方式递归地找到链接表的所有依赖关系,以便能够擦除记录。

4

1 回答 1

1

正如“Nathan Skerl”所建议的那样,我使用了这个链接http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=97454并且它完成了这项工作。唯一的事情是我修改了 fnCascadingDelete 函数以包含 RecordID 参数,这样您就可以传递要删除的记录的 id,然后我搜索 %1 并将其替换为 @RecordID。它工作得很好,对于非常深的嵌套来说有点慢,但我想这是意料之中的。

于 2012-06-21T03:03:12.090 回答