LEAVE-Beispiele
-
Eine Schleife verlassen, wenn ein Fehler beim Einfügen in die
NUMBERS-Tabelle auftritt.Der Code wird ab der ZeileC = 0weiter ausgeführt.... WHILE (B < 10) DO BEGIN INSERT INTO NUMBERS(B) VALUES (:B); B = B + 1; WHEN ANY DO BEGIN EXECUTE PROCEDURE LOG_ERROR ( CURRENT_TIMESTAMP, 'ERROR IN B LOOP'); LEAVE; END END C = 0; ... -
Ein Beispiel für die Verwendung von Labels in der
LEAVE-Anweisung.LEAVE LOOPAbeendet die äußere Schleife undLEAVE LOOPBbeendet die innere Schleife.Beachten Sie, dass die einfache AnweisungLEAVEausreichen würde, um die innere Schleife zu beenden.... STMT1 = 'SELECT NAME FROM FARMS'; LOOPA: FOR EXECUTE STATEMENT :STMT1 INTO :FARM DO BEGIN STMT2 = 'SELECT NAME ' || 'FROM ANIMALS WHERE FARM = '''; LOOPB: FOR EXECUTE STATEMENT :STMT2 || :FARM || '''' INTO :ANIMAL DO BEGIN IF (ANIMAL = 'FLUFFY') THEN LEAVE LOOPB; ELSE IF (ANIMAL = FARM) THEN LEAVE LOOPA; ELSE SUSPEND; END END ...