如何在不留下警告或错误结果的情况下停止游标的执行?
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 循环。
我在 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 循环。