Banco
TRIGGER DA TABELA PRODUTO
CREATE OR REPLACE TRIGGER trg_audit_produto
BEFORE INSERT OR DELETE OR UPDATE
ON PRODUTO
FOR EACH ROW
BEGIN
IF INSERTING THEN
INSERT INTO ocorrencias
(codigo_produto, descricao, unidade, categoria, valor_unit, operação, usuário, data_ocorrencia
VALUES
(:OLD.codigo_produto, :OLD.descricao, :OLD.categoria, :OLD.valor_unit, ‘INS’, user, TO_CHAR(SYSDATE, 'DD/MM/YYYY HH24:MI:SS'); ELSIF UPDATING THEN
INSERT INTO ocorrencias
(codigo_produto, descricao, unidade, categoria, valor_unit, operação, usuário, data_ocorrencia
VALUES
(:OLD.codigo_produto, :OLD.descricao, :OLD.categoria, :OLD.valor_unit, ‘UPD’, user, TO_CHAR(SYSDATE, 'DD/MM/YYYY HH24:MI:SS'); ELSIF DELETING THEN
INSERT INTO ocorrencias
(codigo_produto, descricao, unidade, categoria, valor_unit, operação, usuário, data_ocorrencia
VALUES
(:OLD.codigo_produto, :OLD.descricao, :OLD.categoria, :OLD.valor_unit, ‘DEL’, user, TO_CHAR(SYSDATE, 'DD/MM/YYYY HH24:MI:SS');
END;
TRIGGER DA TABELA OCORRENCIAS
CREATE OR REPLACE TRIGGER trg_audit_categoria
BEFORE INSERT OR DELETE OR UPDATE
ON CATEGORIA
FOR EACH ROW
BEGIN
IF INSERTING THEN
INSERT INTO ocorrencias
(codigo_produto, descricao, usuário, data_ocorrencia
VALUES
(:OLD.codigo_categoria, :OLD.descricao, ‘INS’, user, TO_CHAR(SYSDATE, 'DD/MM/YYYY HH24:MI:SS'); ELSIF DELETING THEN
INSERT INTO ocorrencias
(codigo_produto, descricao, usuário, data_ocorrencia
VALUES
(:OLD.codigo_categoria, :OLD.descricao, ‘DEL’, user, TO_CHAR(SYSDATE, 'DD/MM/YYYY HH24:MI:SS'); ELSIF UPDATING THEN
INSERT INTO ocorrencias
(codigo_produto, descricao, usuário, data_ocorrencia
VALUES
(:OLD.codigo_categoria, :OLD.descricao, ‘UPD’, user, TO_CHAR(SYSDATE, 'DD/MM/YYYY HH24:MI:SS');
END;
ETAPA 3 – PASSO 2
INSERT INTO Produto VALUES (1, 'Queijo', 100, 1, 4.59);
INSERT INTO Produto VALUES (2, 'Iogurte', 100, 1, 0.99);
INSERT INTO Produto VALUES (3, 'Creme de Leite', 100, 1, 1.9);
INSERT INTO Produto