我有一個需要更新的表extradata。它需要更新863個不同的帳戶。來自大型選擇查詢的更新表
下面是查詢塊,它返回並將需要更改的帳號放入臨時表中。
是否有一種簡單的方法可以通過此查詢執行批量更新?
declare @tmp table (number int)
insert into @tmp
select accountid as number from letterrequest
where lettercode in ('97001','70003','19998','91009','20000','99100','19997','70002','99099','91008','97002','97210','97231')
and dateProcessed >= '2013-12-04'
union all
select number from gizmo_requests
where letterCode in (97001,70003,19998,91009,20000,99100,19997,70002,99099,91008,97002,97210,97231)
and dateProcessed >= '2013-12-04'
union all
select number from jm_efiling
where letter in (97001,70003,19998,91009,20000,99100,19997,70002,99099,91008,97002,97210,97231)
and datePrinted >= '2013-12-04'
select distinct * from @tmp
此查詢返回863行帳戶ID。
update extradata set line4 = 'TEST'
where extracode = 'L3'
and number in @tmp
僅當數字列在上面的臨時表中時。
內連接附加碼來@tmp? –
「easy」是什麼意思?更快或更好的代碼? – Shiva
@shiva簡單易用,從tmp表更新863。我能想到做這件事的唯一方法是設置一個while循環的痛苦。 –