Oracle Practica
Chuquimia | Hernani | Henrry Raúl |
1. Desplegar el cliente que tiene el menor importe en sus pedidos.
create or replace functionObtPrecio_x_Producto(xidproducto in varchar2,xidfabrica in varchar2)return number
is
p number;
begin
select precio into p
from producto
where idproducto=xidproducto and idfabrica=xidfabrica;
return p;
end;create or replace function ObtMonto_x_Pedido(xnropedido in number)return number
is
m number;
begin
select sum(ct.cantidad*ObtPrecio_x_Producto(p.idproducto,p.idfabrica)) into m
from contienect inner join producto p
on ct.idproducto=p.idproducto and ct.idfabrica=p.idfabrica
where nropedido=xnropedido;
return m;
end;
create or replace function Imp_total(xnrocliente innumber)return number
is
t number;
begin
select sum(ObtMonto_x_Pedido(nropedido)) into t
from solicita
where xnrocliente=nrocliente
group by nrocliente;
return t;
end;
create or replace functionobt_MIn(xnrocliente in number)return varchar2
is
c varchar2(50);
begin
select cl.nombre into c
from solicita s inner join cliente cl
on s.nrocliente=cl.nrocliente
where Imp_total(s.nrocliente)in(select min(Imp_total(s.nrocliente))
from solicita s);
return c;
end;
select distinct ct.nropedido,s.nrocliente,cl.nombre,sum(ObtMonto_x_Pedido(ct.nropedido))
from contiene ct inner joinsolicita s
on ct.nropedido=s.nropedido
inner join cliente cl
on s.nrocliente=cl.nrocliente
group by ct.nropedido,s.nrocliente,cl.nombre
having sum(ObtMonto_x_Pedido(ct.nropedido))=(select min(sum(ObtMonto_x_Pedido(ct.nropedido)))
from contiene ct inner join solicita s
on ct.nropedido=s.nropedido
inner join cliente cl
on s.nrocliente=cl.nrocliente
group byct.nropedido,s.nrocliente,cl.nombre
)
select distinct obt_MIn(nrocliente)
from cliente
2. Desplegar el jefe que tiene la menor cantidad de empleados a su cargo y a participado en por lo menos...
Regístrate para leer el documento completo.