我有一个如下表,我在其中使用游标进行迭代以将一个值替换为另一个值。有没有办法在 SQL 中使用集合操作来做到这一点?
在此示例中,我将使用值 255 替换值为 2525 的列,并使用游标进行迭代。
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