Saltar al contenido

Sentencia CONTINUE | SQL

Esta sentencia ha sido añadido en PLSQL para Oracle 11g finalmente.
Continue, dentro de un bucle, manda el control al final del mismo y continua con la siguiente orden, es decir, cualquier sentencia que se encuentre dentro del bucle entre el CONTINUE y el END LOOP no será ejecutada.

Aquí os dejo un par de ejemplos y los resultados.

EJEMPLO CONTINUE

1  DECLARE
2  valor NUMBER := 0;
3  BEGIN
4    LOOP 
5      DBMS_OUTPUT.PUT_LINE ('Dentro del bucle: ' ||valor);
6      valor := valor + 1;
7      IF valor < 5 THEN
8        CONTINUE;
9      END IF;
10      DBMS_OUTPUT.PUT_LINE ('Seguimos dentro y despues del CONTINUE ' || valor);
11      EXIT WHEN valor = 10;
12    END LOOP;
13    DBMS_OUTPUT.PUT_LINE (' Salimos bucle: ' || valor);
14* END;
 
Dentro del bucle: 0
Dentro del bucle: 1
Dentro del bucle: 2
Dentro del bucle: 3
Dentro del bucle: 4
Seguimos dentro y despues del CONTINUE 5
Dentro del bucle: 5
Seguimos dentro y despues del CONTINUE 6
Dentro del bucle: 6
Seguimos dentro y despues del CONTINUE 7
Dentro del bucle: 7
Seguimos dentro y despues del CONTINUE 8
Dentro del bucle: 8
Seguimos dentro y despues del CONTINUE 9
Dentro del bucle: 9
Seguimos dentro y despues del CONTINUE 10
Salimos bucle: 10

CONTINUE WHEN

DECLARE
valor NUMBER := 0;
BEGIN
LOOP 
DBMS_OUTPUT.PUT_LINE ('Dentro del bucle: ' || valor);
valor := valor + 1;
CONTINUE WHEN valor < 5;
DBMS_OUTPUT.PUT_LINE ('Seguimos dentro y despues del CONTINUE ' || valor);
EXIT WHEN valor = 10;
END LOOP;
DBMS_OUTPUT.PUT_LINE (' Salimos bucle: ' || valor);
END;
/
Dentro del bucle: 0
Dentro del bucle: 1
Dentro del bucle: 2
Dentro del bucle: 3
Dentro del bucle: 4
Seguimos dentro y despues del CONTINUE 5
Dentro del bucle: 5
Seguimos dentro y despues del CONTINUE 6
Dentro del bucle: 6
Seguimos dentro y despues del CONTINUE 7
Dentro del bucle: 7
Seguimos dentro y despues del CONTINUE 8
Dentro del bucle: 8
Seguimos dentro y despues del CONTINUE 9
Dentro del bucle: 9
Seguimos dentro y despues del CONTINUE 10
Salimos bucle: 10