我有一个跨越多个字段的聚集索引。这些字段之一是 CustomerID。我有一个从该表中读取的游标,然后更新 CustomerID。问题是它会导致无限循环。我假设当它更改 customerid 字段时,会修改聚集索引并为索引重新构建表。此修改似乎使我的光标无效,因此 FETCH NEXT FROM Cursor 永远不会到达末尾。
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
我可以发出任何命令来阻止表更新聚集索引的表,直到光标完成?