• Compra una licencia de Windows 10/11 (10€) u Office (18€) al mejor precio u Office al mejor precio. Entra en este post con las ofertas
  • ¡Bienvenid@! Recuerda que para comentar en el foro de El Chapuzas Informático necesitas registrar tu cuenta, tardarás menos de 2 minutos y te dará valiosa información además de ayudarte en lo que necesites o pasar un rato agradable con nosotros.

Sql triggers

Delus3r

De profesión Chapuzas
Registrado
3 Nov 2019
Mensajes
162
Puntos
18
Buenas, que errores veis aqui?
Realizar un log de las altas/bajas/modificaciones que se han hecho en la tabla INGREDIENTES, que conste el usuario y la fecha y hora de la modificación

create table log_Ingredientes (
accion varchar2(15) NOT NULL,
id_ing number(4) NOT NULL,
Nombre varchar2(30) NOT NULL,
Tipo varchar2(10) NOT NULL,
Fecha date,
Hora timestamp,
usuario varchar2(20)
);
create or replace trigger log_de_Ingredientes
before insert or update or delete on Ingredientes
for each ROW
begin
if inserting then
insert into log_Ingredientes
values
('ALTA',:new.id_ing,:new.Nombre,:new.Tipo,sysdate,systimestamp,usuario);
if updating then
update into log_Ingredientes
values
('MODIFICACION',:eek:ld.id_ing,:eek:ld.Nombre,:eek:ld.Tipo,sysdate,systimestamp,usuario);
if deleting then
delete into log_Ingredientes
values
('BAJA',:eek:ld.id_ing,:eek:ld.Nombre,:eek:ld.Tipo,sysdate,systimestamp,usuario);
END IF;
end;
/

Esta es la tabla ingredientes

Create table ingredientes
(
Id_ing number(4) constraint ingredientes_iding_pk primary key,
Nombre varchar2(30) constraint ingredientes_nombre_nn not null,
Tipo varchar2(10) constraint ingredientes_tipo_nn not null
);
 
¿Qué errores veo?, pues que hay muchas caritas sonrientes. :eek:
 
Arriba