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

Trigger altera registro mesma tabela


Kellyton Armelin

Pergunta

Bom dia,

Tenho uma tabela chamada "pcpcpr" a qual tenho dois campos, um é o "pcpr_statuss_1" varchar(1) e o outro é "status_op" varchar (1), como faço para criar um trigger que ao alterar o campo "pcpr_statuss_1" para 'C', ele altere com o mesmo valor o campo "status_op"?

Eu fiz assim mas não deu certo:

Essa é a função

CREATE OR REPLACE FUNCTION f_au_pcpcpr()
  RETURNS trigger AS
$BODY$
BEGIN
  IF NEW.pcpr_statuss_1 = 'C' THEN
      NEW.status_op = 'C';
  END IF;
RETURN NEW;
END; $BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION f_au_pcpcpr()
  OWNER TO postgres;

E aqui está a trigger:

CREATE TRIGGER tr_au_pcpcpr
  AFTER UPDATE
  ON pcpcpr
  FOR EACH ROW
  EXECUTE PROCEDURE f_au_pcpcpr();

Porém, quando eu executo a alteração me dá erro.

 

Abs

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

boa noite, você tem que usar ":=" para mudar o campo status_op, 

CREATE OR REPLACE FUNCTION f_au_pcpcpr() RETURNS trigger AS $$
BEGIN
  IF NEW.pcpr_statuss_1 = 'C' THEN
      NEW.status_op := 'C';
  END IF;
  RETURN NEW;
END;
$$ LANGUAGE plpgsql;

 

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