由于您仅选择一行(顶部1),所以为什么不使用标准的锁定提示而忘记光标:
BEGIN TRANSACTIONSELECt @PK=ID FROM YourTable WITH (UPDLOCK, HOLDLOCK, READPAST) WHERe ...UPDATE ....WHERe pk=@PKCOMMIT
如果您确实需要循环播放,请使用Google“ CURSOR FREE LOOP”
您可以使用SELECT上的锁定提示通过选择下一个MIN(PK)> @ CurrentPk来循环。

由于您仅选择一行(顶部1),所以为什么不使用标准的锁定提示而忘记光标:
BEGIN TRANSACTIONSELECt @PK=ID FROM YourTable WITH (UPDLOCK, HOLDLOCK, READPAST) WHERe ...UPDATE ....WHERe pk=@PKCOMMIT
如果您确实需要循环播放,请使用Google“ CURSOR FREE LOOP”
您可以使用SELECT上的锁定提示通过选择下一个MIN(PK)> @ CurrentPk来循环。