trigger Campos

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
emer_rosa
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 29
Registrado em: Sáb, 28 Ago 2010 10:45 am
Localização: Torres-RS
Emerson E. Rosa

Olá, estou tentando Criar uma Trigger e não consigo de jeito nenhum, tenho a tabela de clientes que é a TFGPAR, nela eu tenho o campo BLOQUEAR e o Campo AD_BLOQUEIA, ambos são logicos "S" ou "N".
Preciso que quando um usuario mudar um dos dois Campos o outro Campo fique igual.

EX:

Usuario muda o campo BLOQUEAR que estava "N" para "S", a trigger atualiza o campo AD_BLOQUEIA para "S" tb, e caso aconteça ao contrario fazer o mesmo, usuario muda o campo AD_BLOQUEIA ele deixar o campo BLOQUEAR igual.


Desde já Agradeço.
jayjaypoa
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 1
Registrado em: Sex, 03 Jun 2011 5:24 pm
Localização: Porto Alegre - RS

Dá uma olhada no código abaixo.
Não sei se o tipo dos dois campos são iguais. Só toma cuido com isso.
No código abaixo levo em consideração que ambos são do mesmo tipo.


Selecionar tudo

CREATE OR REPLACE TRIGGER nome_da_trigger
  AFTER UPDATE ON tfgpar  
  FOR EACH ROW
DECLARE
  -- local variables here
BEGIN

  IF :new.bloquear <> :old.bloquear
      AND :new.ad_bloqueia = :old.ad_bloqueia THEN
     
      :new.ad_bloqueia := :new.bloquear;
  
  ELSIF :new.ad_bloqueia <> :old.ad_bloqueia
        AND :new.bloquear = :old.bloquear THEN  

        :new.bloquear := :new.ad_bloqueia;

  ELSIF :new.bloquear <> :old.bloquear
        AND :new.ad_bloqueia <> :old.ad_bloqueia THEN
        
        --INFORMAR O QUE DEVE OCORRER CASO AMBOS OS CAMPOS TENHAM O VALOR ALTERADO
        NULL;
        
  END IF;    

END;
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 21 visitantes