Ir para conteúdo
Fórum Script Brasil
  • 0

Trigger


Fernandinha

Pergunta

4 respostass a esta questão

Posts Recomendados

  • 0

Estou tentando criar a trigger abaixo, mas está dando erro.

Segue exemplo do que estou executando:

CREATE TRIGGER tr_MudancaStatus AFTER INSERT

ON 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.

Link para o comentário
Compartilhar em outros sites

  • 0

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();

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...