10 から始まる増分値を empno に割り当てたいようです。
これを行うには、CTE と row_number() を使用できます。カーソルは必要ありません。
; with C as( select empno, 9 + row_number() over(order by (select 1)) as NewEmpNo from emp )update Cset empno =NewEmpNo
プレ>カーソルのバージョンは、同じことを行うために次のようになります。
DECLARE @empno AS INT;DECLARE @CurEmpNo AS INT;SELECT @empno =10;DECLARE employee_cursor CURSOR FOR SELECT empno FROM empOPEN employee_cursor;FETCH NEXT FROM employee_cursor INTO @CurEmpNoWHILE @@FETCH_STATUS =0 BEGIN UPDATE emp SET empno =@empno WHERE CURRENT OF employee_cursor; SELECT @empno =@empno + 1; FETCH NEXT FROM employee_cursor INTO @CurEmpNo END;CLOSE employee_cursor;DEALLOCATE employee_cursor; コード> プレ>