Bases de Datos - CONSULTA SQL

 
Vista:
sin imagen de perfil
Val: 2
Ha aumentado 1 puesto en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

CONSULTA SQL

Publicado por Glro (2 intervenciones) el 20/04/2020 21:06:29
Buenas me gustaria que revisaran este trigger que he hecho a partir del siguiente ejercicio:


Captura


Aqui les dejo el ejercicio:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
CREATE OR REPLACE TRIGGER p2 BEFORE INSERT OR UPDATE OR DELETE ON VENTAS FOR EACH
ROW
 
DECLARE
 
vidcliente ventas.id_cliente%type := :old.id_cliente;
vidvendedor ventas.id_vendedor%type := :old.id_vendedor;
vimporte ventas.importe%type := :old.importe;
vfecha ventas.fecha%type := :old.fecha;
 
BEGIN
 
IF UPDATING THEN
INSERT INTO LOG VALUES(vidcliente, 'Se ha actualizado un registro en la tabla ventas');
 
if(vidcliente!=:new.id_cliente) then
DBMS_OUTPUT.PUT_LINE('El campo id_cliente se ha modificado');
DBMS_OUTPUT.PUT_LINE('El valor antiguo de id_cliente: ' || vidcliente || '. El valor nuevo es: ' || :new.id_cliente );
end if;
 
if(vidvendedor!=:new.id_vendedor) then
DBMS_OUTPUT.PUT_LINE('El campo id_vendedor se ha modificado');
DBMS_OUTPUT.PUT_LINE('El valor antiguo de id_vendedor: ' || vidvendedor || '. El valor nuevo es: ' || :new.id_vendedor );
end if;
 
if(vimporte!=:new.importe) then
DBMS_OUTPUT.PUT_LINE('El campo importe se ha modificado');
DBMS_OUTPUT.PUT_LINE('El valor antiguo de importe: ' || vimporte || '. El valor nuevo es: ' || :new.importe );
end if;
 
if(vfecha!=:new.fecha) then
DBMS_OUTPUT.PUT_LINE('El campo fecha se ha modificado');
DBMS_OUTPUT.PUT_LINE('El valor antiguo de fecha: ' || vfecha || '. El valor nuevo es: ' || :new.fecha );
end if;
 
END IF;
 
 
IF INSERTING THEN
INSERT INTO LOG VALUES(vidcliente, 'Se ha insertado un registro en la tabla ventas');
END IF;
 
IF DELETING THEN
INSERT INTO LOG VALUES(vidcliente, 'Se ha eliminado un registro en la tabla ventas');
END IF;
 
 
END;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder