Fernandinha Postado Dezembro 15, 2011 Denunciar Share Postado Dezembro 15, 2011 Olá pessoal.Não sou conhecedora de Postgre, trabalho somente com SQL, e gostaria de saber qual é a sintaxe no Postgre para criação de trigger. É uma trigger de insert.Obrigada!!! =) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Vinicius Schuh Postado Dezembro 15, 2011 Denunciar Share Postado Dezembro 15, 2011 Boa Tarde Fernandinhada uma olhada nesse link:http://imasters.com.br/artigo/10644/postgr..._no_postgresql/ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fernandinha Postado Janeiro 19, 2012 Autor Denunciar Share Postado Janeiro 19, 2012 Oi, o site está fora... =(Onde devo executar a criação da trigger???Qual a forma de acesso???Obrigada. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fernandinha Postado Janeiro 19, 2012 Autor Denunciar Share Postado Janeiro 19, 2012 Estou tentando criar a trigger abaixo, mas está dando erro.Segue exemplo do que estou executando:CREATE TRIGGER tr_MudancaStatus AFTER INSERTON TICKET FOR EACH ROW UPDATE tabela SET campo = 'Status 1' WHERE TYPE IN ('A', 'B') AND campo = 'New' UPDATE tabela SET campo = 'Status 2' WHERE TYPE IN ('C', 'D') AND campo = 'New';Obrigada. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Fernandinha Postado Janeiro 19, 2012 Autor Denunciar Share Postado Janeiro 19, 2012 Consegui... Caso alguém precise segue exemplo:CREATE OR REPLACE FUNCTION processa_emp_audit() RETURNS TRIGGER AS $emp_audit$ BEGIN -- -- Não permitir atualizar a chave primária -- IF (NEW.codigo <> OLD.codigo) THEN RAISE EXCEPTION 'Não é permitido atualizar o campo codigo'; END IF; -- -- Inserir linhas na tabela emp_audit para refletir as alterações -- realizada na tabela emp. -- IF (NEW.nome <> OLD.nome) THEN INSERT INTO emp_audit SELECT CURRENT_USER, CURRENT_TIMESTAMP, NEW.id, 'nome', OLD.nome, NEW.nome; END IF; IF (NEW.salario <> OLD.salario) THEN INSERT INTO emp_audit SELECT CURRENT_USER, CURRENT_TIMESTAMP, NEW.codigo, 'salario', OLD.salario, NEW.salario; END IF; RETURN NULL; -- o resultado é ignorado uma vez que este é um gatilho AFTER END; $emp_audit$ LANGUAGE plpgsql; CREATE TRIGGER emp_audit AFTER UPDATE ON empregados FOR EACH ROW EXECUTE PROCEDURE processa_emp_audit(); Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Fernandinha
Olá pessoal.
Não sou conhecedora de Postgre, trabalho somente com SQL, e gostaria de saber qual é a sintaxe no Postgre para criação de trigger.
É uma trigger de insert.
Obrigada!!! =)
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.