小编use*_*349的帖子

违反Identity列上的主键错误

这令人抓狂!相关代码已运行超过5年.

这是勺子....

我正在INSERT...SELECT使用主键作为标识列进入表.我插入时没有指定密钥 - SQL Server按预期生成密钥.

我在一个存储过程中进行插入,我在循环中调用(实际上是SSIS中的循环).存储过程将批量插入行(可配置).它可能一次插入1000行,也可能插入50,000行 - 无关紧要.它将适用于随机数量的调用(插入数千行),然后它将失败,突然出现,用a

违反主键/重复

错误.如果我检查身份种子 - 这是正确的.如果我再次开始这个过程,它会工作正常一段时间.

插入的值来自我加入的2个表,好像这很重要.

我的大部分代码如下:

WHILE @pk <= @max_pk
BEGIN
   INSERT INTO tbl_claim_line (fk_batch_control_group, fk_claim, fk_provider, service_from_date, service_to_date, allowed, net_paid, COB, flex_1, flex_2, flex_3, flex_4)
      SELECT
         @fk_batch_control_group
         , c.pk_claim
         , p.pk_provider
         , i.date_of_service_from
         , i.date_of_service_to
         , i.allowed_amount
         , i.net_paid_amount
         , i.cob_amount
         , i.claimline_flex_1
         , i.claimline_flex_2
         , i.claimline_flex_3
         , i.claimline_flex_4
      FROM
         tbl_import i
      INNER JOIN 
         tbl_import__claim c ON i.claim_number = c.claim_number
      LEFT JOIN 
         tbl_import__provider p ON  ISNULL(i.provider_type,'') =  ISNULL(p.provider_type,'') …
Run Code Online (Sandbox Code Playgroud)

sql-server identity constraints key

8
推荐指数
2
解决办法
6137
查看次数

标签 统计

constraints ×1

identity ×1

key ×1

sql-server ×1