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