lunes, 30 de mayo de 2011

Desarrollar un trigger que mantenga actualizado el numero de propiedades
que administra una oficina.

* Seguir primero que todo los pasos que sale en blackboard

Pasos:
1) select * propiedad

2) ALTER TABLE PROPIEDAD add totPropiedad numeric

3)select e.numoficina, count(p.numpropiedad)
from  propiedad p, empleado e
where p.numempleado = e.numempleado
group by e.numoficina

4) create view mivista as
select e.numoficina, count(p.numpropiedad) as Propiedad
from  propiedad p, empleado e
where p.numempleado = e.numempleado
group by e.numoficina

5)alter table oficina add totpropiedad numeric


6) declare cursor micursor
is
select e.numoficina, count(p.numpropiedad) as Propiedad
from  propiedad p, empleado e
where p.numempleado = e.numempleado
group by e.numoficina

vnumoficina oficina.numoficina%type;
vtotpropiedad oficina.totpropiedad%type;

begin
open micusor;
loop
fetch micursor into vnumoficina, vtotpropiedad
exit when micursor%notfound
 update oficina
 set totpropiedad = vtotpropiedad
 where numoficina = vnumoficina;
end loop;
close micursor;
end;

7) se realiza un update a la tabla oficina para colocar en 0 a los registros nulos.
update oficina
set totpropiedad = 0
where totpropiedad is NULL

No hay comentarios.:

Publicar un comentario