いくつかのフィールドにまたがるクラスター化されたインデックスがあります。これらのフィールドの1つはCustomerIDです。そのテーブルから読み取り、CustomerIDを更新するカーソルがあります。問題は、それが無限ループを引き起こすことです。customeridフィールドを変更すると、クラスター化されたインデックスが変更され、インデックス用にテーブルが再構築されると思います。この変更によりカーソルが無効になるため、FETCHNEXTFROMカーソルが最後に到達することはありません。
FETCH NEXT FROM AccountSoftwareRegCursor
INTO @CurrentAccountSoftwareRegUId
WHILE (@@FETCH_STATUS = 0)
BEGIN
UPDATE
Licensing.AccountSoftwareRegistration
SET
AccountUid = @ToAccountUid,
CompanyId = @ToCompanyId,
UpdatedBy = isnull(@UpdatedBy,'Asset Transfer'),
UpdatedByAccount = @UpdatedByAccount,
UpdatedOn = GETUTCDATE()
WHERE
AccountSoftwareRegUid = @CurrentAccountSoftwareRegUId
カーソルが終了するまでテーブルがクラスター化インデックスのテーブルを更新しないようにするために発行できるコマンドはありますか?