CURSORES EXPLICITOS EN ORACLE
--cursor1
declare cursor c3
is
select nombre from pais;
vpais varchar2(30);
begin
open c3;
loop
fetch c3 into vpais;
exit when c3%notfound;
dbms_output.put_line('Pais: ' || vpais);
end loop;
close c3;
end;
--cursor2
DECLARE CURSOR c2
IS
SELECT PLAZA,NOMBRE,COLEGIO FROM MEDICO WHERE ESPECIALIDAD='0001';
vplaza medico.plaza%type;
vnombre medico.nombre%type;
vcolegio medico.colegio%type;
begin
open c2;
Loop
fetch c2 into vplaza, vnombre, vcolegio;
EXIT WHEN c2%NOTFOUND;
dbms_output.put_line('Plaza: ' || vplaza);
dbms_output.put_line('Medico: ' || vnombre);
dbms_output.put_line('Colegio: ' || vcolegio);
End Loop;
close c2;
end;
--cursor3
DECLARE
CURSOR c1
IS
SELECT * FROM USUARIO WHERE CARGO='MEDICO';
campo usuario%rowtype;
begin
open c1;
loop
fetch c1 into campo;
EXIT WHEN C1%NOTFOUND;
dbms_output.put_line('Modulo: ' || campo.modulo);
dbms_output.put_line('Usuario: ' || campo.usuario);
dbms_output.put_line('Nombre: ' || campo.nombre);
dbms_output.put_line('---------------------------');
end loop;
close c1;
end;
--cursor and procedure
CREATE OR REPLACE PROCEDURE USP_BUSCAR_USUARIOS(vusu IN varchar2)
IS
BEGIN
DECLARE CURSOR c5
IS
SELECT * FROM USUARIO WHERE USUARIO=vusu;
campo usuario%rowtype;
begin
open c5;
loop
fetch c5 into campo;
EXIT WHEN c5%NOTFOUND;
dbms_output.put_line('Modulo: ' || campo.modulo);
dbms_output.put_line('Usuario: ' || campo.usuario);
dbms_output.put_line('Nombre: ' || campo.nombre);
dbms_output.put_line('Cargo: ' || campo.cargo);
end loop;
close c5;
end;
END USP_BUSCAR_USUARIOS;
--By Ing. Jhonatan Abal Mejia
declare cursor c3
is
select nombre from pais;
vpais varchar2(30);
begin
open c3;
loop
fetch c3 into vpais;
exit when c3%notfound;
dbms_output.put_line('Pais: ' || vpais);
end loop;
close c3;
end;
--cursor2
DECLARE CURSOR c2
IS
SELECT PLAZA,NOMBRE,COLEGIO FROM MEDICO WHERE ESPECIALIDAD='0001';
vplaza medico.plaza%type;
vnombre medico.nombre%type;
vcolegio medico.colegio%type;
begin
open c2;
Loop
fetch c2 into vplaza, vnombre, vcolegio;
EXIT WHEN c2%NOTFOUND;
dbms_output.put_line('Plaza: ' || vplaza);
dbms_output.put_line('Medico: ' || vnombre);
dbms_output.put_line('Colegio: ' || vcolegio);
End Loop;
close c2;
end;
--cursor3
DECLARE
CURSOR c1
IS
SELECT * FROM USUARIO WHERE CARGO='MEDICO';
campo usuario%rowtype;
begin
open c1;
loop
fetch c1 into campo;
EXIT WHEN C1%NOTFOUND;
dbms_output.put_line('Modulo: ' || campo.modulo);
dbms_output.put_line('Usuario: ' || campo.usuario);
dbms_output.put_line('Nombre: ' || campo.nombre);
dbms_output.put_line('---------------------------');
end loop;
close c1;
end;
--cursor and procedure
CREATE OR REPLACE PROCEDURE USP_BUSCAR_USUARIOS(vusu IN varchar2)
IS
BEGIN
DECLARE CURSOR c5
IS
SELECT * FROM USUARIO WHERE USUARIO=vusu;
campo usuario%rowtype;
begin
open c5;
loop
fetch c5 into campo;
EXIT WHEN c5%NOTFOUND;
dbms_output.put_line('Modulo: ' || campo.modulo);
dbms_output.put_line('Usuario: ' || campo.usuario);
dbms_output.put_line('Nombre: ' || campo.nombre);
dbms_output.put_line('Cargo: ' || campo.cargo);
end loop;
close c5;
end;
END USP_BUSCAR_USUARIOS;
--By Ing. Jhonatan Abal Mejia
Comentarios