gpt4 book ai didi

sql-server - SQL 批量插入期间约束的控制行为?

转载 作者:搜寻专家 更新时间:2023-10-30 23:38:40 25 4
gpt4 key购买 nike

我很好奇是否有一种方法可以在使用批量插入命令时控制数据库如何响应外键和主键约束。具体来说,我将数据插入到员工表(具有主键 empID),该表通过该键 (empID) 链接到其他表( child 、配偶等)中的数据。鉴于此应用程序背后的逻辑和目的,如果在批量插入期间发现重复的主键,我想执行以下操作:

  1. 删除(或更新)数据库中已存在的“员工”行。
  2. 从与该员工相关联的其他表中删除所有数据(即子女、受益人等)。
  3. 插入新员工数据。

如果我以通常的方式插入数据,即没有批量插入,我认为任务会非常简单。然而,在使用它时,我必须承认,我不太确定如何处理这个问题。

我当然不希望任何人为我编写代码,但我不太确定这是否可能、如何开始或最好的方法是什么。可能是存储过程,还是架构更改?

非常感谢您的指导。

最佳答案

此类问题的通常解决方案是将数据加载到Staging 表中,可能在它自己的Schema 甚至数据库中。然后,您将从该登台表加载实际表,从而允许您以不受限制的方式执行所需的任何逻辑。这有一个额外的好处,可以让您在加载“真实”表时记录/审计/检查您正在使用的逻辑。

关于sql-server - SQL 批量插入期间约束的控制行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38014356/

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