2010-04-28 11 views
8

Mam trochę pętli i warunek. Jeśli kodowanie jest dopasowane, chcę zatrzymać lub wyjść z procedury składowanej. Jak to zrobić?Wyjście z procedury składowanej

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

Jaki rodzaj i wersja SQL używasz? Sql Server, Oracle, MySql? @@ fetch_status sugeruje serwer sql. – amelvin

+1

przyjąć odpowiedzieć pracować dla Ciebie –

Odpowiedz

10

jeśli używasz Microsoft SQL Server niż można użyć Return Oświadczenie

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

thx za answer..can poprosiłem u więcej question.hehe..since im nowego w SQL ... thx b4 ... jak o gdybym HV 2 pętla podczas @@ FETCH_STATUS = 0 rozpocząć zestaw Y = y + 1 zestaw x = 0, podczas gdy @@ FETCH_STATUS = 0 rozpocząć x = y + 1 jeśli y = 5 „wyjście do drugiego i z powrotem, podczas gdy do pierwszego wykonania while -> y = y + 1 koniec koniec – leonita

+0

tak w takim przypadku musisz użyć instrukcji goto zasugerowanej w odpowiedzi –

4

Przez @@fetch_status Wygląda na to, wewnątrz pętli kursora tak bym nie powrót w tym momencie, jak będzie pomiń sprzątanie po sobie.

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

ic ...... thx alex – leonita

1

użycie próba powrotu

while @@fetch_status=0 
    begin 
     if x=0 
      return 
    end 
Powiązane problemy