Update
確認更新查詢成功的最佳實踐是什麼
如果我正在執行一個影響例如 1000 行的 SQL 更新查詢,我如何檢查查詢是否按預期工作並且沒有遇到任何奇怪的邊緣情況(我自己沒有目視檢查每一行)?對此的最佳做法是什麼?
評論中要求的附加資訊我正在編寫一個 SQL 查詢,以使用標準值更新列中空白的任何欄位。這本身就很容易,而且欄位的數量足夠小,我可以直覺地檢查它們。但我認為可能會有更複雜的查詢,涵蓋大量無法檢查的欄位。
您可以在查找要更新的特定條件之前和之後進行查詢。
對於即席查詢,最好在作為更新語句執行之前使用相同的 where 子句將查詢作為選擇語句執行。
除非數據已更改,否則更新應更新 select 返回的完全相同的行。
create table #test ([id] int identity (1,1), [status] varchar(50) ) insert into #test VALUES ('COMPLETED') insert into #test VALUES ('FAULTED') insert into #test VALUES ('COMPLETED') insert into #test VALUES ('FAULTED') insert into #test VALUES ('FAULTED') select status from #test where status = 'FAULTED' select count(*) from #test where status = 'FAULTED' update #test set status = 'FAILED' where status = 'FAULTED' select count(*) from #test where status = 'FAULTED' select status, count(*) from #test group by status