我已经从tableA备份了一些数据。所以我通过以下方式做到了这一点: -
select * into backuptable_tableA from tableA
where column1= 'Value1' and column2 = 'Value2'
备份包含大约185,000行,如上所示称为backuptable_tableA
现在在tableA中我需要使用值'LAMK'更新1列(column1)。现在任何人都可以建议一个有效的SQL查询,它可以批量更新tableA中的column1。我们一次说10,000行? SQL应该在更新前10,000后停止,然后我可以检查数据并执行下一个10,000等等...也无论如何确保通过加入backuptable_tableA来实现这一点? (为了论证,让tableA作为column1,column2,column3和column4的唯一约束)。
..或者我在进行备份时使用的更新中是否必须使用相同的参数?
由于
答案 0 :(得分:0)
过去使用while循环为我工作的东西 https://msdn.microsoft.com/en-gb/library/ms178642.aspx
,(
ISNULL([era_project_data_analysis].annual_spend_after_implementation,
ISNULL([era_project_data_analysis].annual_spend_after_selection,
ISNULL([era_project_data_analysis].annual_spend_after_recommendations,
[era_project_data_analysis].estimated_annual_spend
)
)
)
) AS [Annual Spend],
您可以在循环内添加检查并根据需要回滚事务。
HTH