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;
3BEGIN
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