DriverID
テーブルの列をDriver
5000、5001、...に設定したい
この目的のために、私はこのスクリプトを書きます:
use WeighbridgeDB
GO
DECLARE @NewDriverID int;
SET @NewDriverID = 5000;
DECLARE Driver_Cursor CURSOR FOR
SELECT DriverID FROM Driver
FOR UPDATE;
OPEN Driver_Cursor;
FETCH NEXT FROM Driver_Cursor
WHILE @@FETCH_STATUS = 0
BEGIN
UPDATE Driver SET DriverID = @NewDriverID WHERE CURRENT OF Driver_Cursor;
SET @NewDriverID += 1;
FETCH NEXT FROM Driver_Cursor
END
CLOSE Driver_Cursor;
DEALLOCATE Driver_Cursor;
GO
しかし、Whileループは止まらず、の値@@FETCH_STATUS
は常に0です。テーブルなどで更新が発生したため、カーソルが再構築されたと思います。
この状況を修正するにはどうすればよいですか?
ありがとう。