Cursor con CICLO LOOP
set serveroutput on
DECLARE
CURSOR ceEmpleado(pJOB VARCHAR2)
IS
SELECT EMPLOYEE_ID, FIRST_NAME, LAST_NAME, SALARY
FROM EMPLOYEES
where JOB_ID = pJOB;
vID VARCHAR2(3);
vNombre VARCHAR2(50);
vApellido VARCHAR2(50);
vSueldo INTEGER;
BEGIN
OPEN ceEmpleado('&pJOB');
LOOP
FETCH ceEmpleado INTO vID, vNombre, vApellido, vSueldo;
EXIT WHEN ceEmpleado%NOTFOUND;
dbms_output.put_line('ID: '||vID||' / '||'Nombre: '||vNombre||' / '||'Apellido: '||vApellido||' / '||'Sueldo: $'||vSueldo);
END LOOP;
CLOSE ceEmpleado;
END;
-------------------------------------------------------
set serveroutput on ---Cursor con CICLO WHILE
declare
cursor crEmpleado(pJOB VARCHAR2)
is select employee_id, first_name, salary
from employees;
registro crEmpleado%ROWTYPE;
begin
open crEmpleado('&JOB');
fetch crEmpleado into registro;
while crEmpleado%FOUND loop
dbms_output.put_line('Id:' ||registro.employee_id||' - '||' Nombre '||registro.first_name||'-'||' Salario '||' - '||registro.salary);
fetch crEmpleado into registro;
end loop;
close crEmpleado;
end;
------------------------------------------------------------
set serveroutput on---------CURSOR CON CICLO FOR
declare
cursor crEmpleado
is select employee_id, first_name, salary
from employees;
begin
for registro in crEmpleado loop
dbms_output.put_line('Id:' ||registro.employee_id||' - '||' Nombre '||registro.first_name||'-'||' Salario '||' - '||registro.salary);
end loop;
end;