SQL Server查询 - 如何继续出错

时间:2013-05-14 11:16:12

标签: sql sql-server sql-delete

我有一个包含数千个字段的表,其中一些由于客户的失败而被复制,我需要修复它。 我可以找到它们并逐行删除它们,但我正在寻找更快的解决方法。

由于其中一些与其他表有关,因此如果不考虑关系,就不能直接删除它们。我想首先通过运行一个没有任何条件的简单DELETE命令来删除那些未包含在关系中的内容,因此所有不相关的行都将被删除,其余部分可以快速完成。

以下是问题:如何跳过错误并删除所有不相关的行? 目前,当我运行查询时,它会在找到第一个相关ID时停止。(冲突发生在数据库中......)

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您可以使用外部联接进行删除(其中相关表是联接的另一侧),其中外部联接中的ID为空,可以安全删除,因为您不会受到约束冲突。

然而,巨大的,无限制的删除对我来说听起来像是一个巨大的风险,确保你有BACKUPS。