Fórum Trigger after delete #498523
20/10/2014
0
Ao tentar excluir um determinado registro, a operação de "exclusão" é cancelada e eu efetuo um update em um determinado campo.
Obrigado
Marlon Minotti
Curtir tópico
+ 0Posts
21/10/2014
Marisiana Battistella
Não é mais fácil criar uma function que faça o que você precisa e manipular a execução dela pela aplicação?
Gostei + 0
21/10/2014
Marlon Minotti
Gostei + 0
21/10/2014
Marlon Minotti
Skype: marlon.minotti
Hangouts: marlon.minotti@gmail.com
Gostei + 0
21/10/2014
Jair N.
Não é mais fácil criar uma function que faça o que você precisa e manipular a execução dela pela aplicação?
Gostei + 0
21/10/2014
Marlon Minotti
Gostei + 0
21/10/2014
Marisiana Battistella
Gostei + 0
21/10/2014
Jair N.
CREATE TRIGGER tgr_ao_excluir BEFORE DELETE ON limiter EXECUTE PROCEDURE fnc_antes_de_exluir();
CREATE OR REPLACE FUNCTION fnc_antes_de_excluir() RETURNS trigger
LANGUAGE plpgsql AS
$BODY$
IF (TG_OP = 'DELETE') THEN
....
END IF;
RETURN OLD;
END;
$BODY$;
Lembrando de que na função terá que "cancelar" a exclusão...Já fiz tal procedimentos com a trigger gravando o "histórico de acessos (auditor)" quando o usuário excluí, altera ou insere registros. porém no caso da "exclusão" tem que ser antes que ocorra, se quiser ainda ter o registro ativo e poder fazer todo o processo.
Atc.
Gostei + 0
21/10/2014
Jair N.
CREATE TRIGGER tgr_ao_excluir BEFORE DELETE ON limiter EXECUTE PROCEDURE fnc_antes_de_exluir();
CREATE TRIGGER tgr_ao_excluir
BEFORE DELETE ON tabela_atual
FOR EACH ROW EXECUTE PROCEDURE fnc_antes_de_excluir()
CREATE OR REPLACE FUNCTION fnc_antes_de_excluir() RETURNS trigger
LANGUAGE plpgsql AS
$BODY$
IF (TG_OP = 'DELETE') THEN
....
END IF;
RETURN OLD; -- OBS: com "return new" você pode cancelar um "DELETE" que está sendo executado...
END;
$BODY$;
Entedeu?
Gostei + 0
21/10/2014
Marlon Minotti
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)