我目前有删除问题。我们无权在记录上启用Cascade删除。我有User表,其中userId是大约20个不同的表中的引用。我希望能够编写一个动态查询,该查询将以递归方式查找引用userId的所有表并删除它们(对于每个表,它必须找到自己的外键并删除它们),所以基本上是一个递归函数/将表名作为参数和主键id并将执行级联删除的过程。任何可以做到这一点的脚本?我可以在information_schema上运行一个查询来检索User表的一个级别的依赖项,但我需要以某种方式递归地查找链接表的所有依赖项,以便能够擦除记录。
答案 0 :(得分:1)
根据“Nathan Skerl”的建议,我使用了这个链接http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=97454并完成了这项工作。唯一的事情是我修改了fnCascadingDelete函数以包含RecordID参数,因此您可以传递要删除的记录的id,然后我搜索%1并将其替换为@RecordID。它工作得很好,非常深的嵌套有点慢,但我想这是预期的。