gpt4 book ai didi

sql - 合并主键 - 级联更新

转载 作者:行者123 更新时间:2023-12-04 13:28:44 25 4
gpt4 key购买 nike

有没有办法将两个主键合并为一个,然后级联更新所有受影响的关系?这是场景:

客户(idCustomer int PK、公司 varchar(50) 等)

CustomerContacts(idCustomerContact int PK、idCustomer int FK、Name varchar(50) 等)

CustomerNotes(idCustomerNote int PK、idCustomer int FK、注释文本等)

有时需要将客户合并为一个。例如,您有一个 id 为 1 的客户和另一个 id 为 2 的客户。您想合并两者,以便 2 的所有内容现在都为 1。我知道我可以编写一个脚本来更新所有受影响的表一个,但我想通过使用级联规则使其更具 future 证明,因此每次添加新关系时我都不必更新脚本。

有任何想法吗?

最佳答案

没有自动的方法来做到这一点,但您有几个选择,您可以手动编写过程,或者您可以通过代码定期生成合并或在运行时动态生成它。为此,您可以使用 INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTSINFORMATION_SCHEMA.KEY_COLUMN_USAGEINFORMATION_SCHEMA.TABLE_CONSTRAINTSINFORMATION_SCHEMA.COLUMNS and INFORMATION_SCHEMA.TABLES动态构建程序。

您也可以简单地将整个操作包装在一个事务中(无论如何都是个好主意)。最后一步是删除要合并的客户,因此如果您从未添加的表上有 RI 并且您尝试进行合并,它将失败,因为您无法删除要合并的客户,因为存在依赖关系尚未添加到合并过程的表中的记录。

关于sql - 合并主键 - 级联更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/223797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com