Documentos de Académico
Documentos de Profesional
Documentos de Cultura
------------BUCLES REPETITIVOS---------------
DECLARE
N INT :=& VAR;
CONT INT :=1;
BEGIN
LOOP
DBMS_OUTPUT.PUT_LINE(CONT);
CONT:=CONT+1;
IF CONT>N THEN
EXIT;
END IF;
END LOOP;
END;
-------------WHILE-------------------
DECLARE
N INT :=& VAR;
CONT INT :=1;
BEGIN
WHILE CONT <=N LOOP
DBMS_OUTPUT.PUT_LINE(CONT);
CONT:=CONT+1;
END LOOP;
END;
---------------FOR--------------------
DECLARE
N INT :=& VAR;
BEGIN
FOR CONT IN 1..N LOOP
DBMS_OUTPUT.PUT_LINE(CONT);
END LOOP;
END;
--------------FOR AL REVES-----------------
DECLARE
N INT :=& VAR;
BEGIN
FOR CONT IN REVERSE 1..N LOOP
DBMS_OUTPUT.PUT_LINE(CONT);
END LOOP;
END;
-------------CURSORES EXPLICITOS----------------------------
DECLARE
nombre EMPLOYEES.FIRST_NAME%TYPE;
CURSOR c1 IS SELECT FIRST_NAME
FROM EMPLOYEES;
BEGIN
OPEN C1;
---------CURSOR EXPLICITO--%NOTFOUND--------------------
DECLARE
nombre EMPLOYEES.FIRST_NAME%TYPE;
CURSOR c1 IS SELECT FIRST_NAME
FROM EMPLOYEES;
BEGIN
OPEN C1;
LOOP
FETCH C1 INTO nombre;
DBMS_OUTPUT.PUT_LINE(nombre);
EXIT WHEN C1%NOTFOUND;
END LOOP;
CLOSE C1;
END;
--------------ROWCOUNT------------------------
DECLARE
nombre EMPLOYEES.FIRST_NAME%TYPE;
CURSOR c1 IS SELECT FIRST_NAME
FROM EMPLOYEES
WHERE department_id=80;
BEGIN
OPEN C1;
LOOP
FETCH C1 INTO nombre;
DBMS_OUTPUT.PUT_LINE(nombre);
EXIT WHEN C1%NOTFOUND;
END LOOP;
DBMS_OUTPUT.PUT_LINE(C1%ROWCOUNT||' REG. PROCESADOS');
CLOSE C1;
END;
DECLARE
nombre DEPARTMENTS.DEPARTMENT_NAME%TYPE;
CURSOR c1 IS SELECT DEPARTMENT_NAME,COUNT(*)
FROM DEPARTMENTS ;
BEGIN
OPEN C1;
LOOP
FETCH C1 INTO nombre;
DBMS_OUTPUT.PUT_LINE(nombre);
EXIT WHEN C1%NOTFOUND;
END LOOP;
DBMS_OUTPUT.PUT_LINE(C1%ROWCOUNT||' REG. PROCESADOS');
CLOSE C1;
END;
DECLARE
nombre EMPLOYEES.FIRST_NAME%TYPE;
nomb DEPARTMENTS.DEPARTMENT_NAME%TYPE;
CURSOR c1 IS SELECT FIRST_NAME, DEPARTMENT_NAME
FROM EMPLOYEES E, DEPARTMENTS D
WHERE D.DEPARTMENT_ID=E.DEPARTMENT_ID;
BEGIN
OPEN C1;
LOOP
FETCH C1 INTO nombre;
DBMS_OUTPUT.PUT_LINE(nombre);
EXIT WHEN C1%NOTFOUND;
END LOOP;
DBMS_OUTPUT.PUT_LINE(C1%ROWCOUNT||' REG. PROCESADOS');
CLOSE C1;
END;
--EJERCICIO 5
--Crear la siguiente tabla:
--Producto(id_producto, nombre)
--En la tabla creada registrar 10000 productos