-1
我有一個類似下面的表格,其中我使用遊標進行迭代以替換另一個值。 有沒有辦法在SQL中使用set操作來做到這一點?T-SQL:爲遊標操作設置操作等效
在此示例中,我將用值爲255的列替換值爲255的列,並使用遊標進行迭代。
company_name_id replacement_company_name_id
2525 255
11000201010737 10000701010293
12000301010533 12000301010532
這裏是我運行的代碼:
declare @company_name_id bigint, @replacement_company_name_id bigint
declare company_name_cursor cursor for
select
company_name_id
, replacement_company_name_id
from #replacements
open company_name_cursor
fetch next from company_name_cursor into @company_name_id, @replacement_company_name_id
while @@FETCH_STATUS <> -1
begin
update user_job_during_school_job
set company_name_id = @replacement_company_name_id
where company_name_id = @company_name_id
fetch next from company_name_cursor into @company_name_id, @replacement_company_name_id
end
close company_name_cursor
deallocate company_name_cursor