O que acontece é que a DBMS_REFRESH... executa commit, e isto não é possivel 
dentro  de uma trigger.
Vc pode criar uma procedure com AUTONOMOUS TRANSACTION e esta procedure chama a 
dbms. Veja o exemplo:

CREATE OR REPLACE PROCEDURE CALL_DBMS_AT  IS
PRAGMA AUTONOMOUS TRANSACTION;
BEGIN
  DBMS_MVIEW.REFRESH('VIEW_PRODUTO_TRUECONVREL');
     COMMIT;
END;
/
CREATE OR REPLACE TRIGGER TRG_UNIDADE_REFRESH_MVIEW
    after  INSERT OR UPDATE OR DELETE ON UNIDADE
    --FOR EACH ROW
BEGIN
  CALL_DBMS_AT;
END;
/


Renan Medeiros
Coordenador de Suporte/Treinamento/Pré-venda
Unimix Tecnologia Ltda
0 xx 61 9994 0586
0 xx 61 3201 8888

[As partes desta mensagem que não continham texto foram removidas]



______________________________________________________________________

Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
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