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 |