我正在使用 SQL 2008 R2。我有 5 个复合主键
(NOID ,CODE_CLIENT,CODE_DEST,DATE_CLOTURE,DATE_CLOTUR_REEL)
在我的桌子上。
我尝试使用以下语法删除双精度:
DELETE
FROM [LETTRE_VOIT_FINAL]
WHERE EXISTS
(SELECT NOID ,
CODE_CLIENT,
CODE_DEST,
DATE_CLOTURE,
DATE_CLOTUR_REEL
FROM LETTRE_VOIT_FINAL
GROUP BY NOID ,
CODE_CLIENT,
CODE_DEST,
DATE_CLOTURE,
DATE_CLOTUR_REEL HAVING count(*) > 1)
它删除了所有条目,幸运的是我已经做了备份。
在我只有 4 个复合主键之前,我添加了最后一个 DATE_CLOTUR_REEL。因为主键的值不能为空,所以我把值getdate()
放到这个键中。因此,我不能将所有 5 个设置为复合主键,因为我有双键。所以现在,我的桌子上没有主键。