[firebase-br] RES: Trigger

José Mauricio Barbisan Zottis zottissistemas em gmail.com
Quinta Setembro 8 15:00:30 -03 2022


se você colocar esse exemplo que passei na before update ou before insert,
ela não irá deixar commitar


Em qui., 8 de set. de 2022 às 14:24, UPSAI | Informatica <
informatica em upsai.com.br> escreveu:

> Grato
>
>
> O que eu estou buscando é (me baseando no exemplo):
>
>          if (new.qt_quantia is null) then
>          begin
>            instrução para abortar a execução da trigger (ou seja não
> realizar o comando COMMIT na tabela);
>          end
>
> Saudações
>
> Wagner Aranha
> Tel. (11) 2606-4100
>
>  Antes de imprimir, pense em sua responsabilidade e compromisso para com
> o MEIO AMBIENTE.
> Esta mensagem, incluindo qual(is)quer anexo(s), é endereçada
> exclusivamente ao(s) seu(s) destinatário(s) e poderá conter informações
> confidenciais. A revisão, distribuição, divulgação e o uso não autorizado
> de tais informações é proibido e estará sujeita as penalidades cabíveis.
> Caso você não seja o destinatário, por favor informe o remetente
> respondendo o e-mail e destrua todas as cópias da mensagem original.
>
> -----Mensagem original-----
> De: lista <lista-bounces em firebase.com.br> Em nome de José Mauricio
> Barbisan Zottis via lista
> Enviada em: quinta-feira, 8 de setembro de 2022 13:26
> Para: Carlos H. Cantu <listas em warmboot.com.br>; FireBase <
> lista em firebase.com.br>
> Cc: José Mauricio Barbisan Zottis <zottissistemas em gmail.com>
> Assunto: Re: [firebase-br] RES: Trigger
>
> acho que o que você quer fazer é algo assim:
> CREATE EXCEPTION EXCEPTION_GENERICA 'MEU TEXTO!';
>
>        if (old.qt_atendida > 0) then
>          begin
>            EXCEPTION exception_generica 'JÁ EXISTE QUANTIDADE ATENDIDA.
> IMPOSSÌVEL EXCLUIR - SOLICITAÇÃO';
>          end else
>          if (old.qt_quantia is null) then
>          begin
>            EXCEPTION exception_generica 'A QUANTIDADE PRECISA SER
> DECLARADA;
>          end else
>
>
>
>
> Em qui., 8 de set. de 2022 às 12:19, Carlos H. Cantu via lista <
> lista em firebase.com.br> escreveu:
>
> > Você não leu a documentação com atenção.
> >
> > Exception tem que ser seguido do nome da exceção que será disparada.
> > Só pode ser usado sem o nome se já estiver dentro de um bloco de
> > tratamento de exceção e vc quiser dar um re-raise da exceção capturada
> > por ele.
> >
> > []s
> > Carlos H. Cantu
> > eBook Guia de Migração para o FB 4 - www.firebase.com.br/guiafb4.php
> > www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br
> >
> > U|I> Prezados
> >
> > U|I> Grato pelas informações.
> >
> > U|I> Seguindo as orientações contidas no link, tentei executar as
> > U|I> seguintes instruções (a trigger foi compilada sem problemas):
> >
> > U|I> "AS
> > U|I>  declare variable Entrega date;
> > U|I> begin
> > U|I>    EXCEPTION;"
> >
> > U|I> Porém a execução do código não foi interrompido.
> >
> >
> > U|I> Ai realizei a seguinte modificação:
> >
> >
> > U|I> "AS
> > U|I>  declare variable Entrega date;
> > U|I> begin
> > U|I>    EXCEPTION;
> > U|I>    exception producao;"
> >
> >
> > U|I> Desta forma a execução do procedimento é interrompido no 2º
> exception.
> >
> > U|I> O que poderia estar faltando no comando?
> >
> > U|I> Em realidade estou precisando de um comando que interrompa a
> > U|I> execução
> > de uma
> > U|I> trigger dado certas condições como por exemplo um campo em
> > U|I> branco,
> > etc. Não
> > U|I> precisa ser necessariamente o EXCEPTION.
> >
> > U|I> Saudações
> >
> > U|I> Wagner Aranha
> >
> > U|I> -----Mensagem original-----
> > U|I> De: lista <lista-bounces em firebase.com.br> Em nome de Carlos H.
> > U|I> Cantu
> > via
> > U|I> lista
> > U|I> Enviada em: quinta-feira, 8 de setembro de 2022 08:51
> > U|I> Para: FireBase <lista em firebase.com.br>
> > U|I> Cc: Carlos H. Cantu <listas em warmboot.com.br>
> > U|I> Assunto: Re: [firebase-br] Trigger
> >
> > U|I> Você pode gerar exception tanto em trigger como em procedure, e
> > capturar ela
> > U|I> com um bloco when...do...
> >
> > U|I> Mais informações:
> > U|I>
> > https://ib-aid.com/download/docs/firebird-language-reference-2.5/fblan
> > gref25
> > U|I> -psql-handleexceptions.html
> >
> > U|I> []s
> > U|I> Carlos H. Cantu
> > U|I> eBook Guia de Migração para o FB 4 -
> > U|I> www.firebase.com.br/guiafb4.php www.FireBase.com.br -
> > U|I> www.firebirdnews.org - blog.firebase.com.br
> >
> > U|Ivl>> Prezados
> >
> > U|Ivl>>
> >
> > U|Ivl>> Em uma trigger, existe alguma forma de executar a instrução
> > EXCEPTION
> > U|I> onde:
> >
> > U|Ivl>> 1- não seja exibido mensagens;
> >
> > U|Ivl>> 2- que o procedimento da trigger seja finalizado?
> >
> > U|Ivl>>
> >
> > U|Ivl>> Ou se existe algum outro comando para abandonar a execução de
> > U|Ivl>> uma Trigger....
> >
> > U|Ivl>>
> >
> > U|Ivl>> Atenciosamente
> >
> > U|Ivl>>
> >
> > U|Ivl>> Wagner
> >
> > U|Ivl>>
> >
> > U|Ivl>>
> >
> > U|Ivl>> Saudações
> >
> > U|Ivl>>
> >
> > U|Ivl>> Wagner Aranha
> >
> > U|Ivl>> ______________________________________________
> > U|Ivl>> FireBase-BR (www.firebase.com.br) - Hospedado em
> > U|Ivl>> www.locador.com.br Para saber como gerenciar/excluir seu
> > U|Ivl>> cadastro
> > na
> > U|I> lista, use:
> > U|Ivl>> http://www.firebase.com.br/fb/artigo.php?id=1107
> > U|Ivl>> Para consultar mensagens antigas:
> > U|Ivl>> http://www.firebase.com.br/pesquisa_lista.html
> >
> >
> > U|I> ______________________________________________
> > U|I> FireBase-BR (www.firebase.com.br) - Hospedado em
> > U|I> www.locador.com.br
> > Para
> > U|I> saber como gerenciar/excluir seu cadastro na lista, use:
> > U|I> http://www.firebase.com.br/fb/artigo.php?id=1107
> > U|I> Para consultar mensagens antigas:
> > U|I> http://www.firebase.com.br/pesquisa_lista.html
> >
> >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas:
> > http://www.firebase.com.br/pesquisa_lista.html
> >
>
>
> --
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br Para
> saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
>
>

--


Mais detalhes sobre a lista de discussão lista