如何在不留下警告或错误结果的情况下停止游标的执行?

How to stop the execution of a cursor without leaving the result in warnings or errors?

我在 SQL 服务器中有以下程序,它有一个游标来滚动 SELECT 的记录,这个想法是当你找到满足特定条件的记录时,这个过程必须停在那里 return 结果是 select 他发现了什么

DECLARE CURSOR_NAME CURSOR AS 

    SELECT cit_init, cit_end FROM citas 
    WHERE preser_id = @preser_id 

OPEN CURSOR_NAME 
FETCH NEXT FROM CURSOR_NAME INTO @VAR1_CURS, @VAR2_CURS
WHILE @@FETCH_STATUS = 0 
BEGIN

    IF (.....CONDITION.....)
    BEGIN

            ....ACTION...

        SELECT  @VAR1_CURS, @VAR2_CURS

            ----If the condition is fulfilled , you must stop the execution of the cursor

             CLOSE CURSOR_NAME

    END

    FETCH NEXT FROM CURSOR_NAME INTO @VAR1_CURS, @VAR2_CURS

END
CLOSE CURSOR_NAME
DEALLOCATE CURSOR_NAME

在 IF 语句中,您可以使用 BREAK 语句(而不是 CLOSE CURSOR_NAME)来退出 WHILE 循环。