理想情况下,您不应该使用游标,因为性能不会很高。如果您可以将其作为基于集合的语句来执行,请改为这样做,也许是这样的:
SELECT TOP 1 @CoreID = [String]
FROM dbo.SplitListIntoTable(@myIDs) x
JOIN MyTable t ON x.[String] = t.ID
但是,如果确实有理由使用游标,则可以使用BREAK语句中断WHILE循环
例如
WHILE @@FETCH_STATUS = 0
BEGIN
IF EXISTS(SELECT * FROM MyTable WHERE Id = @ItemID)
BEGIN
SET @CoreId = @ItemId
BREAK
END
FETCH NEXT FROM itemCursor INTO @itemID
END