Fórum trigger update #606362
31/10/2019
0
boa tarde, gostaria de saber como eu faço um trigger que seja ativado apenas quando realizar o update na coluna cargo
update
before
funcionario(nome,idade,cargo,ano);
gostaria de saber como faço para ativar o trigger apenas quando o update for no campo(Cargo).
desde já muito obrigado
tentei de varias formas porem não sou muito bom em banco de dados.
update
before
funcionario(nome,idade,cargo,ano);
gostaria de saber como faço para ativar o trigger apenas quando o update for no campo(Cargo).
desde já muito obrigado
tentei de varias formas porem não sou muito bom em banco de dados.
Daniel Jesus
Curtir tópico
+ 0
Responder
Posts
31/10/2019
Manoel Junior
Boa tarde, segue um exemplo que desenvolvi em MySql:
drop database if exists teste;
create database teste;
use teste;
create table TB_FUNC(
id_func int primary key auto_increment,
nome varchar(250),
idade int,
cargo varchar(250),
ano int
);
create table TB_EST(
estado varchar(250)
);
INSERT INTO TB_EST VALUES('');
DELIMITER $$
CREATE TRIGGER TRG_UPD_FUNC BEFORE UPDATE ON TB_FUNC
FOR EACH ROW
BEGIN
DECLARE TRG_CARGO VARCHAR(250);
SELECT cargo INTO TRG_CARGO FROM TB_FUNC WHERE ID_FUNC = NEW.ID_FUNC;
IF (TRG_CARGO <> NEW.cargo) then
UPDATE TB_EST SET estado = 'Disponível';
ELSE
UPDATE TB_EST SET estado = '';
END IF;
END
$$ DELIMITER ;
INSERT INTO TB_FUNC VALUES (NULL,'Manoel Junior',25,'',1997);
SELECT * FROM TB_EST;
UPDATE TB_FUNC SET cargo = 'SUPPORT ANALYTICS SYSTEM' WHERE id_func = 1;
SELECT * FROM TB_EST;
Responder
Gostei + 0
01/11/2019
Emerson Nascimento
Daniel, quando tiver dúvidas, publique o maior número possível de informações pertinentes ao problema.
no teu caso, seria interessante indicar ao menos qual banco de dados está usando e sua versão, assim você receberá ajuda precisa.
no teu caso, seria interessante indicar ao menos qual banco de dados está usando e sua versão, assim você receberá ajuda precisa.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)