Sie sind auf Seite 1von 5

create table clientes(

idcliente nchar(10) not null,

nombre nchar(50) not null,

constraint pk_cliente

primary key (idcliente)

);

create table factura(

idfactura nchar(10) not null,

fecha_factura date not null,

cantidad_producto number,

producto_nombre nvarchar2(50) not null,

valor_producto number,

total_factura number,

fk_idcliente nchar(10) not null,

constraint pk_idfactura

primary key (idfactura),

foreign key (fk_idcliente)

references clientes (idcliente)

);

create table producto(

idproducto nchar(10) not null,

cantidad_disponible number,

cantidad_vendida number,
nombre_producto nvarchar2(50) not null,

valor_unitario number,

constraint pk_idproducto

primary key (idproducto)

);

create table producto_factura(

idproducto_factura nchar(10) not null,

fk_idproducto nchar(10) not null,

fk_idfactura nchar(10) not null,

constraint pk_idproducto_factura

primary key (idproducto_factura),

foreign key (fk_idproducto)

references producto (idproducto),

foreign key (fk_idfactura)

references factura (idfactura)

);

---------------------------------------------

create table cursos

(estudiante varchar (20),


edad int,

sexo varchar (1),

curso varchar (20));

create table auditoria_cursos

(usuario varchar (20),

fecha date,

estudiante varchar (20),

curso varchar (20));

create or replace trigger auditoria

before insert or update or delete

on cursos

for each row

begin

if inserting then

insert into auditoria_cursos values

(user,

Sysdate,

:new.estudiante,

:new.curso);

end if;

if updating then
insert into auditoria_cursos values

(user,

sysdate,

:old.estudiante,

:old.curso);

end if;

if deleting then

insert into auditoria_cursos values

(user,

sysdate,

:old.estudiante,

:old.curso);

end if;

end;

---------------------------------------------

describe cursos;

-------------------------

insert into cursos values

('javier', 25, 'M', 'sistemas');

---------------------------------------
select *from cursos;

----------------------------

Update cursos set curso='ingles' where estudiante='javier';

------------------------------------

select *from cursos;

----------------------------------

delete from cursos where estudiante='javier';

------------------------------------------

select *from cursos;

-----------------------------------------

select *from auditoria_cursos;

Das könnte Ihnen auch gefallen