You are on page 1of 2

link:

http://www.tutorialesprogramacionya.com/oracleya/simulador/simulador.php?cod=270
&punto=112&inicio=
http://www.tutorialesprogramacionya.com/oracleya/simulador/simulador.php?cod=273
&punto=115&inicio=
create table libros2(
codigo number(6),
titulo varchar2(40),
autor varchar2(30),
editorial varchar2(20),
precio number(6,2)
);
create table control(
usuario varchar2(30),
fecha date,
codigo number(6),
precioanterior number(6,2),
precionuevo number(6,2)
);

insert into libros2


insert into libros2
insert into libros2
);
insert into libros2
insert into libros2
'Planeta',35);

values(100,'Uno','Richard Bach','Planeta',25);
values(103,'El aleph','Borges','Emece',28);
values(105,'Matematica estas ahi','Paenza','Nuevo siglo',12
values(120,'Aprenda PHP','Molina Mario','Nuevo siglo',55);
values(145,'Alicia en el pais de las maravillas','Carroll',

create or replace trigger tr_actualizar_precio_libros


before update of precio
on libros2
for each row
begin
insert into control values(user,sysdate,:new.codigo,:old.precio,:new.precio);
end tr_actualizar_precio_libros;
update libros2 set precio=30 where codigo=100;
select * from libros2;
select * from control;
create or replace trigger tr_actualizar_precio_libros
before update of precio
on libros2
for each row
begin
if (:new.precio>50) then
:new.precio:=floor(:new.precio);

end if;
insert into control values(user,sysdate,:new.codigo,:old.precio,:new.precio);
end tr_actualizar_precio_libros;
truncate table control;
update libros2 set precio=54.99 where codigo=100;
select * from libros2;
select * from control;

create or replace trigger tr_libros


before insert or update or delete
on libros2
for each row
begin
insert into control values(user,sysdate,:old.codigo,:old.precio,:new.precio);
end tr_libros;
insert into libros2 values(111,'Uno','Richard Bach','Planeta',25);
delete from libros2 where codigo=111;

You might also like