Trigger que mostre mensagem de alerta

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
celsobtu
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 7
Registrado em: Qui, 23 Mar 2006 11:23 am
Localização: Botucatu - SP

Saudações !!!
Caros colegas, to apanhando para fazer o oracle exibir uma mensagem informativa ao usuario, apenas informativa. Eu não quero travar nada ...apenas alertar o usuário.
Eu fiz assim ...:
--------------------------------------------------------------------------------

Selecionar tudo

create or replace trigger MostraAviso
  before insert on tabelaX
  for each row
declare
  -- local variables here
begin

---MSG DE AVISO
   If (:new.ati_in_codigo in (3)) Then
       raise_application_error(-20001,'..ATENÇÃO ! Produto Tóxico !');
   end if;  
END;  

----------------------------------------------------------------------------------
Desse jeito que eu fiz ...a mensagem fica em loop ...isso é o usuário clica em ok ....e a mensagem volta na tela .....

Alguém tem alguma idéia de como resolver posso resolver isso ...?
Desde já agradeço a atenção ....
Celsobtu
kellcristina
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 4
Registrado em: Seg, 28 Abr 2008 11:36 am
Localização: São Paulo

Celso,

Você conseguiu exibir mensagem informativa?
Teve alguma outra alternativa?
Também estou tentando, mas não deveria abortar a inclusão/alteração de dados.

Obrigada!
Kelly
rodfbar
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 241
Registrado em: Ter, 09 Out 2007 11:15 am
Localização: Batatais - SP

o retorno de mensagem da trigger pelo raise_application_error esta retornando para a aplicacao que o insert esta com erro, porisso ele aborta as demais insercoes...

retornar as mensagens a nivel de trigger e incluir eu desconheco...
creio que você precise validar esta mensagem a nivel de aplicação... juntamente com seu insert

abçs..
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Ou, uma outra dica também...
Jogar o valor dessa msg em uma tabela de Log, deixar o processo continuar e, no final, na aplicação, exibir uma window com essas informações...
qualquer coisa, manda ai.
kellcristina
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 4
Registrado em: Seg, 28 Abr 2008 11:36 am
Localização: São Paulo

Oi pessoal!

Como trata-se de uma aplicação não customizada e não havia campo disponível para exibição da mensagem resolvemos o problema chamando uma procedure para envio de e-mail.

Muito obrigada pelas dicas!!!
Kelly
Responder
  • Informação
  • Quem está online

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