viernes, 14 de junio de 2013
PROCEDURE - CURSOR
create or replace procedure listaPro(pNumero char) is
contador integer := 0;
vnombre empleado.nombre%type;
cursor cpropiedad (pnumempleado empleado.numempleado%type) is
select * from propiedad
where numempleado = pnumempleado;
begin
select nombre into vnombre
from empleado
where numempleado = pNumero;
dbms_output.put_line('Nombre Numero');
dbms_output.put_line(vnombre || ' ' || pNumero);
dbms_output.put_line(' Numero Tipo Renta');
for rprop in cpropiedad(pNumero)
LOOP
dbms_output.put_line(' '|| rprop.numpropiedad ||' ' || rprop.tipo || ' ' || rprop.renta);
contador := contador + 1;
END LOOP;
dbms_output.put_line('Total propiedades: ' || contador);
exception
when no_data_found then
dbms_output.put_line('No hay registros');
end;
set serveroutput on
begin
listaPro('SL21');
end;
--------------------------------------------------------------------------------------------------
create or replace
PROCEDURE CalcularEstadisticas is
type prop is record(
cantidad propiedad.numpropiedad%type,
rentaPromedio float,
rentaMaxima float,
rentaMinima float
);
cls prop;
begin
select count(numpropiedad), avg(renta), max(renta), min(renta) into cls
from propiedad;
dbms_output.put_line('Total Propiedades: '||cls.cantidad||' rentaPromedio: '||cls.rentaPromedio||' rentaMaxima: '||cls.rentaMaxima||' renta minima: '||cls.rentaMinima);
end;
set serveroutput on
begin
CalcularEstadisticas;
end;
Suscribirse a:
Comentarios de la entrada (Atom)
No hay comentarios.:
Publicar un comentario