不能在具有唯一索引的表中插入重复的键行

时间:2014-09-22 19:55:40

标签: sql sql-server-2008 stored-procedures

我正在调试一个存储过程,执行时会出现以下错误:

2601: Cannot insert duplicate key row in object 'dbo.TABLEXYZ' with unique index 'ABCKEY_PRIMARY'. The duplicate key value is (abc123).

dbo.TABLEXYZ中没有数据通过正在执行的sproc插入,我也查看是否有任何更新dbo.TABLEXYZ的触发器,但没有。有关如何调试复杂的sproc的任何提示?我还应该在哪里寻找罪魁祸首?

1 个答案:

答案 0 :(得分:0)

可能是其中一个子spocs发生了错误。这是我的方法:

  1. 启用执行计划(查询菜单>包括实际执行计划)
  2. 运行sproc。当它出错时,您将有一个额外的标签调用执行计划
  3. 向下滚动到上一个执行计划。这可能是导致错误的陈述。提供了声明的文本。
  4. 现在扫描您的数据库以查看该语句的位置。