Olá pessoal,

seguinte, tenho uma trigger que é ligada a uma tabela de produtos,
essa trigger quando é disparada deve alterar (apenas alguns poucos
casos) um outro resgistro na mesma tabela, aí fui eu lá fazer a
trigger que está ai embaixo, quando estava todo feliz da vida achando
que isso era algo simples fui testar e me aparece a mensagem dizendo
que a trigger é mutante e tal.....

me lembro que a um bom tempo atrás, alguém postou uma duvida parecida
com essa, e alguém deu uma solução, gostaria de saber se alguém
poderia me dar uma luz nesse caso, não gostaria de ter que fazer isso
no programa, pois existem varios lugare que teria alterar.

valeu,
Fabiano.


CREATE OR REPLACE TRIGGER TRG_PRODUTO_A
  AFTER UPDATE ON TB_PRODUTO
  FOR EACH ROW
DECLARE
  vIndice       NUMBER;
BEGIN
  IF UPDATING('VAL_VAREJO') THEN --quando for feita uma alteração no
preco de varejo
     vIndice := :NEW.VAL_VAREJO / :NEW.NUM_EMBALAGEM;
     update Tb_Produto set Val_Varejo = vIndice * NUM_EMBALAGEM where
Cod_produto IN
            (Select Cod_Produto_Preco From Tb_Produto_Precos Where
Cod_Produto = :New.Cod_Produto);

  END IF;
END;


______________________________________________________________________

Histórico: http://www.mail-archive.com/[email protected]/
Falar com os Moderadores:([EMAIL PROTECTED])
Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar 
______________________________________________________________________ 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a