2010-04-28 19 views
8

que tienen algún lazo y una condición. Si la codificación coincide, entonces quiero parar o salir del procedimiento almacenado. ¿Como hacer eso?la salida de un procedimiento almacenado

while @@fetch_status=0 
    begin 
     if x=0 
      'exit stored procedure 
    end 
+0

¿Qué tipo y la versión de SQL de ustedes usando? Sql Server, Oracle, MySql? El @@ fetch_status sugiere el servidor sql. – amelvin

+1

aceptar responder a ella que funcione para usted –

Respuesta

10

si está utilizando Microsoft SQL Server que puede utilizar Return Declaración

while @@fetch_status=0 begin if x=0 return; end 
+0

THX para la answer..can pedí u question.hehe..since más im nuevo en SQL ... b4 THX ... ¿Qué tal si hv 2 bucle mientras @@ FETCH_STATUS = 0 comenzar conjunto y = y + 1 conjunto x = 0 mientras @@ FETCH_STATUS = 0 comienzan x = y + 1 si y = 5 'salir de la segunda hacer mientras y de nuevo a la primera do while -> y = y + 1 final final – leonita

+0

sí, en ese caso debe usar la instrucción goto sugerida en la respuesta siguiente –

4

Por @@fetch_status parece que el interior de un bucle de cursor de modo que lo haría no retorno en ese punto como usted salte la limpieza después de ti mismo.

... 
if x=0 
    GOTO DONE 
... 
/* at the end of the sp */ 
DONE: 
    CLOSE @your_cur 
    DEALLOCATE @your_cur 
+0

ic ...... thx alex – leonita

1

utilización intento de retorno

while @@fetch_status=0 
    begin 
     if x=0 
      return 
    end 
Cuestiones relacionadas