晚上好,
我要求删除数据库中的大量行。困难在于我需要删除行的条件总共不同(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个值。
任何想法如何在不锁定任何表格的情况下执行所需操作,或者如果需要以最佳速度锁定它们。
感谢!!!
答案 0 :(得分:0)
通过在我创建的新数据库中创建表来管理解决问题(感谢Lamak) 附录
[TableA]:需要在[databaseA.dbo.tableA]中删除10000个条目的表
[TableB]:在新数据库[databaseB.dbo.tableB]
中创建的新表**确保您已连接到要从中删除条目的数据库。
从[TableB]中删除[conditionA] in (从[databaseB.dbo.tableB]中选择[ConditionA])
**我还建立了一些回归,以便在发生任何错误时回滚查询,如果检测到错误,如果查询不提交,它将回滚。如果有人在阅读时对这个回复感兴趣,我可以回到我的原始剧本来获取它,因为我无法记住这一点。
谢谢大家的帮助! :)