Triggers Banco De Dados
Pesquisas Acadêmicas: Triggers Banco De Dados. Pesquise 862.000+ trabalhos acadêmicosPor: potet • 25/9/2013 • 435 Palavras (2 Páginas) • 493 Visualizações
1- CRIAR UMA TRIGGER PARA FINS DE AUDITORIA NA TABELA PROJETOS, ONDE AO ADICIONAR
UM NOVO PROJETO AS INFORMAÇÕES DO NOME DO PROJETO E DATA E HORA DEVERÃO SER
ARMAZENADAS.
CREATE TABLE projeto_auditoria (
id int NOT NULL AUTO_INCREMENT,
id_Projeto int NOT NULL,
acao varchar(50) DEFAULT NULL,
Departamento int NOT NULL,
titulo varchar(50) DEFAULT NULL,
modificadoem datetime DEFAULT NULL,
PRIMARY KEY (id)
);
DELIMITER $$
CREATE TRIGGER TRinsere_projeto
AFTER INSERT ON projeto
FOR EACH ROW BEGIN
INSERT INTO projeto_auditoria
SET acao = 'inserido',
id_Projeto = NEW.idProjeto,
Departamento = NEW.Departamento_idDepartamento,
titulo = NEW.titulo,
modificadoem = NOW(); END;
$$
DELIMITER ;
2- CRIAR UMA TRIGGER PARA FINS DE AUDITORIA NA TABELA PROJETOS, ONDE AO REMOVER
UM PROJETO AS INFORMAÇÕES DO NOME DO PROJETO E DATA E HORA DEVERÃO SER
ARMAZENADAS.
DELIMITER $$
CREATE TRIGGER TRdelete_projeto
BEFORE DELETE ON projeto
FOR EACH ROW BEGIN
INSERT INTO projeto_auditoria
SET acao = 'excluido',
id_Projeto = OLD.idProjeto,
Departamento = OLD.Departamento_idDepartamento,
titulo = OLD.titulo,
modificadoem = NOW(); END;
$$
DELIMITER ;
3- CRIAR UMA TRIGGER PARA FINS DE AUDITORIA NA TABELA EMPREGADO, ONDE AO
REMOVER OU INSERIR UM NOVO FUNCIONARIO AS INFORMAÇÕES , CODIGO , O NOME DO
FUNCIONARIO E DATA E HORA DEVERÃO SER ARMAZENADAS.
CREATE TABLE empregado_auditoria (
id int NOT NULL AUTO_INCREMENT,
id_Empregado int NOT NULL,
acao varchar(50) DEFAULT NULL,
Departamento int NOT NULL,
nome varchar(50) NOT NULL,
cpf varchar (15) NOT NULL,
modificadoem datetime DEFAULT NULL,
PRIMARY KEY (id)
);
----------INSERIR EMPREGADO------------------
DELIMITER $$
CREATE TRIGGER TRinsere_empregado
AFTER INSERT ON empregado
FOR EACH ROW BEGIN
INSERT INTO empregado_auditoria
SET acao = 'inserido',
id_Empregado = NEW.idEmpregado,
Departamento = NEW.Departamento_idDepartamento,
nome = NEW.nome,
cpf = NEW.cpf,
modificadoem = NOW(); END;
$$
DELIMITER ;
----------DELETAR EMPREGADO------------------
DELIMITER $$
CREATE TRIGGER TRdelete_empregado
BEFORE DELETE ON empregado
FOR EACH ROW BEGIN
INSERT INTO empregado_auditoria
SET acao = 'excluido',
id_Empregado = OLD.idEmpregado,
Departamento = OLD.Departamento_idDepartamento,
nome = OLD.nome,
cpf = OLD.cpf,
modificadoem = NOW(); END;
$$
DELIMITER ;
4- CRIAR UMA TRIGGER PARA FINS DE AUDITORIA
...