SQL删除查询。要删除的行数为100000

时间:2018-06-14 20:12:05

标签: sql-server

晚上好,

我要求删除数据库中的大量行。困难在于我需要删除行的条件总共不同(50000)

例如

Delete * from [TableA]
where [columnA] in (‘1’,’2’,’3’,’4’)      50000 separate             column values
and [columnB] in (‘1’,’2’)           just the 2 column values 

由于列A值的多样性,我正在努力实现任何类型的行计数,或者在查询失败时一次删除1000,因为它仍然需要查看所有50000个值。

任何想法如何在不锁定任何表格的情况下执行所需操作,或者如果需要以最佳速度锁定它们。

感谢!!!

1 个答案:

答案 0 :(得分:0)

通过在我创建的新数据库中创建表来管理解决问题(感谢Lamak) 附录

[TableA]:需要在[databaseA.dbo.tableA]中删除10000个条目的表

[TableB]:在新数据库[databaseB.dbo.tableB]

中创建的新表

**确保您已连接到要从中删除条目的数据库。

从[TableB]中删除[conditionA] in (从[databaseB.dbo.tableB]中选择[ConditionA])

**我还建立了一些回归,以便在发生任何错误时回滚查询,如果检测到错误,如果查询不提交,它将回滚。如果有人在阅读时对这个回复感兴趣,我可以回到我的原始剧本来获取它,因为我无法记住这一点。

谢谢大家的帮助! :)

相关问题