//crear la tabla autor y libro
create table auto(idAutor integer primary key,nombre varchar2(30));
create table libro(idLibro integer primary key,nombrelibro varchar2(30),idAutor references autor);
// inserciones
insert into autor values(1'erwin');
insert into autor values(2'soilaCerda');
insert into autor values(3'rosamel fierro');
insert into autor values(4'marichu palacios');
insert into libro values(1'introduccion a oracle'1);
insert into libro values(2'kamasutra'2);
insert into libro values(3'las mil y una noche'3);
insert into libro values(4'la parcela de erwin'4);
// Contador
select * autor;
select idAutoe, count(*)
from libro
group by idAutor
order by 2 desc;
// trigger
create or replace trigger cascadaDelete
alter delete on autor
for each row
begin
delete from libro
where idAutor = :old.idAutor;
end;
delete from auto
where nombre = 'erwin';
Desactivar trigger
alter trigger cascadaDelete disable;
---------------------------------------------------------------------------------------------------------
create table producto(idProducto integer primary key,nombreProducto varchar2(30),stockActual integer);
create table compra(idCompra integer primary key,fecha date);
create table detalleCompra(idCompra reference compra,idProducto reference producto,cantidad integer);
create table merma(idMerma integer primary key,fecha date ,idProducto integer references producto,cantidad integer);
create or replace trigger actualizaStock
after insert on detalleCompra
for each row
begin
update producto
set stockActual = stockActual + :new.cantidad;
where idProducto = :new.idProducto;
end;
create or replace trigger cantidadMerma
alter insert on merma
for each row
begin
update producto
set tockActual = stockActual - :new.cantidad;
where idProducto = :new.idProducto;
end;