Criar trigger de auditoria

24/11/2019

0

Pessoal, Podem me ajudar.
Estou com problemas em criar uma trigger para registro de log ( auditoria ).

criei uma trigger auditoria, porem ela não atualiza a tabela LOG após a tabela Produto receber uma atualização.

-------
CREATE OR REPLACE TRIGGER Auditoria

AFTER UPDATE OR INSERT ON PRODUTO

FOR EACH ROW

BEGIN
INSERT INTO LOG VALUES ('Idlog','sysdate',’AlteracaoNoProduto);
END;



criei uma trigger para atualizar a tabela estoque.

CREATE OR REPLACE TRIGGER baixar_estoque_trigger
AFTER INSERT ON ITEMPEDIDO
FOR EACH ROW
BEGIN
UPDATE PRODUTO SET QUANTIDADE = QUANTIDADE - :NEW.QUANTIDADE
WHERE IDPRODUTO = :NEW.IDPRODUTO;
END;


-------------
CREATE TABLE CLIENTE(
Idcliente int,
nome varchar(60),
dtnascimento date,
cpf varchar(11),
CONSTRAINT pk_cliente PRIMARY KEY (Idcliente)
);

CREATE TABLE PEDIDO(
Idpedido int,
Idcliente int,
datapedido date,
vltotal decimal(10,2),
CONSTRAINT pk_pedido PRIMARY KEY (Idpedido),
CONSTRAINT fk_pedido_cliente FOREIGN KEY (Idcliente) REFERENCES CLIENTE(Idcliente)
);

CREATE TABLE PRODUTO(
Idproduto int,
descricao varchar(100),
quantidade int,
CONSTRAINT pk_produto PRIMARY KEY (Idproduto)
);

CREATE TABLE ITEMPEDIDO(
Idpedido int,
Nritem int,
valor decimal(10,2),
quantidade int,
Idproduto int,
CONSTRAINT pk_itempedido PRIMARY KEY (Idpedido, Nritem),
CONSTRAINT fk_Idpedido FOREIGN KEY (Idpedido) REFERENCES PEDIDO (Idpedido),
CONSTRAINT fk_itempedido_produto FOREIGN KEY (Idproduto) REFERENCES PRODUTO (Idproduto)
);

CREATE TABLE LOG(
Idlog int,
data date,
descricao varchar(255),
CONSTRAINT pk_log PRIMARY KEY (Idlog)
);

INSERT INTO CLIENTE VALUES (1, 'Hugo Batista', TO_DATE('05/02/1990', 'DD/MM/YYYY'),
'51898608253');

INSERT INTO CLIENTE VALUES (2, 'José Antonio', TO_DATE('02/05/1985', 'DD/MM/YYYY'),
'51144722241');

INSERT INTO CLIENTE VALUES (3, 'João Carlos', TO_DATE('03/05/1993', 'DD/MM/YYYY'),
'84882273292');

INSERT INTO CLIENTE VALUES (4, 'Edivaldo Santana', TO_DATE('01/06/2000', 'DD/MM/YYYY'),
'30609426176');

INSERT INTO CLIENTE VALUES (5, 'Cristina Oliveira', TO_DATE('16/08/1999', 'DD/MM/YYYY'),
'56313586700');

INSERT INTO CLIENTE VALUES (6, 'Artur da Silva', TO_DATE('06/05/2001', 'DD/MM/YYYY'),
'67491246583');

INSERT INTO CLIENTE VALUES (7, 'Adrina Domingues', TO_DATE('01/02/1972', 'DD/MM/YYYY'),
'22044617250');

INSERT INTO PRODUTO VALUES (1, 'SAMSUNG J7 - PRIME', 10);

INSERT INTO PRODUTO VALUES (2, 'SAMSUNG J5 - PRIME', 10);

INSERT INTO PRODUTO VALUES (3, 'IPHONE X', 10);

INSERT INTO PRODUTO VALUES (4, 'MOTO G 5S', 10);

INSERT INTO PRODUTO VALUES (5, 'IPHONE 6S', 10);

INSERT INTO PEDIDO VALUES (1, 4, TO_DATE('10/03/2018', 'DD/MM/YYYY'), 1400.99);

INSERT INTO ITEMPEDIDO VALUES (1, 1, 800.99, 1, 1);

INSERT INTO ITEMPEDIDO VALUES (1, 2, 600.00, 1, 2);

INSERT INTO PEDIDO VALUES (2, 2, TO_DATE('17/03/2018', 'DD/MM/YYYY'), 1349.50);

INSERT INTO ITEMPEDIDO VALUES (2, 1, 749.50, 1, 4);

INSERT INTO ITEMPEDIDO VALUES (2, 2, 600.00, 1, 2);

INSERT INTO PEDIDO VALUES (3, 1, TO_DATE('20/03/2018', 'DD/MM/YYYY'), 2590.10);

INSERT INTO ITEMPEDIDO VALUES (3, 1, 1800.71, 1, 5);

INSERT INTO ITEMPEDIDO VALUES (3, 2, 789.39, 1, 4);

INSERT INTO PEDIDO VALUES (4, 5, TO_DATE('21/03/2018', 'DD/MM/YYYY'), 2590.10);

INSERT INTO ITEMPEDIDO VALUES (4, 1, 5099.00, 1, 3);

INSERT INTO PEDIDO VALUES (5, 7, TO_DATE('10/03/2018', 'DD/MM/YYYY'), 1800.00);

INSERT INTO ITEMPEDIDO VALUES (5, 1, 600.00, 3, 2);
Arilson

Arilson

Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar