Re: [firebase-br] Por que Into não funciona neste select

NextCorp Informatica nextcorp em terra.com.br
Seg Abr 24 15:00:44 -03 2006


Caro Jeferson

Desculpe, não fui muito objetivo na resposta.

A minha original executa tudo normalmente só que o exception ele mostra exception_msg mas sem a mensagem, onde o exception_msg e
minha exception criada vazia no firebird 1.5.3

Acho que é algum bug do firebird neste caso, fazendo o exists ou não teria que mostrar a mensagem com a sua variavel.

Por hora estou utilizando a sua dica, que tb já tinha feito, mas fiquei teimando com o exists pois não acreditei que a minha
primeira forma pudesse não funcionar, pois a grosso modo não tem o por que de não mostrar a msg.

Obrigado pela dica.


Atenciosamente

Washington A. Müller da Silva

#####################
NextCorp Informática Ltda
www.nextcorp.com.br
nextcorp em terra.com.br
0 xx (51)-3589-3690
####################
----- Original Message ----- 
From: "Jeferson Oliveira" <jefersonfoliveira em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Monday, April 24, 2006 9:57 AM
Subject: Re: [firebase-br] Por que Into não funciona neste select


Washington,

Desculpe-me, mas não entendi bem sua última mensagem.
O problema de só mostrar "exception_msg" ocorre com a trigger na forma
original ou da maneira que sugeri?
Em meus testes a forma sugerida funcionou adequadamente; já a primeira, com
a claúsula exists retornando valor para uma variável, nem compila (Fb
1.5.0.4306).


Abraço!
Jeferson Oliveira



Em 23/04/06, NextCorp Informatica <nextcorp em terra.com.br> escreveu:
>
> Ok
>
> Jeferson
>
> O problema e que assim como fiz funciona. Só que desta forma ele executa o
> exception mas não mostra a msg so mostrando
> exception_msg.
>
> Por isto o exception ele executa, mas não mostra a msg com o parametro
> wnome.
>
>
> Atenciosamente
>
> Washington A. Müller da Silva
>
> #####################
> NextCorp Informática Ltda
> www.nextcorp.com.br
> nextcorp em terra.com.br
> 0 xx (51)-3589-3690
> ####################
> ----- Original Message -----
> From: "Jeferson Oliveira" <jefersonfoliveira em gmail.com>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Saturday, April 22, 2006 9:58 AM
> Subject: Re: [firebase-br] Por que Into não funciona neste select
>
>
> Washington,
>
> O sentença SQL passada como parâmetro na função "exists" é utilizada
> apenas
> para testar a existência ou não de registros que atendam às condições
> expecificadas, e não retornam valor para uma variável.
>
> Você pode atribuir o valor antes, e então testar o valor da variável.
> Exemplo:
>
> begin
> select coalesce(b.aux_nome, c.dep_nome)
> from convenios_medicos a left join auxiliares b on a.com_codbarra =
> b.aux_codbarra left join dependentes c on a.com_codbarra = c.dep_codbarra
> where (com_aux_codigo = new.com_aux_codigo) and (com_grau = 'T') and
> (com_cod_convenio = new.com_cod_convenio)
> into :wnome;
>
> if (:wnome <> '') then
>    exception exception_msg 'O conveniado '||:wnome||' já é o titular deste
> convênio.';
> end
>
> Abraço!
> Jeferson Oliveira
>
>
> Em 21/04/06, NextCorp Informatica <nextcorp em terra.com.br> escreveu:
> >
> > Caros colegas
> >
> > Estou fazendo a seguinte trigger para saber se um determinado usuário do
> > mesmo convenio e codigo já existe no cadastro de convenios medicos, mas
> não
> > funciona por causa do into alguem sabe por que.
> >
> > ---------- STATEMENT ----------
> >
> > ALTER TRIGGER TR_VERIF_TIT_CONVMED_BIU0
> > ACTIVE BEFORE INSERT OR UPDATE POSITION 0
> > AS
> > declare variable wnome varchar(25);
> > begin
> > if (exists (
> >     select Coalesce(b.aux_nome, c.dep_nome)
> >     from convenios_medicos a Left Join auxiliares b On a.com_codbarra =
> > b.aux_codbarra Left Join dependentes c on a.com_codbarra =
> c.dep_codbarra
> >     where (com_aux_codigo = new.com_aux_codigo) and (com_grau = 'T') and
> > (com_cod_convenio = new.com_cod_convenio)
> >     into :wnome) then
> >        exception exception_msg 'O conveniado '||:wnome||' já é o titular
> > deste convênio.';
> > end
> >
> >
> > ---------- ERROR MESSAGE ----------
> >
> > Invalid token.
> > Erro de SQL dinamico.
> > codigo do erro SQL = -104.
> > Simbolo desconhecido - linha 10, caractere 6.
> > into.
> >
> > Atenciosamente
> >
> > Washington A. Müller da Silva
> >
> > #####################
> > NextCorp Informática Ltda
> > www.nextcorp.com.br
> > nextcorp em terra.com.br
> > 0 xx (51)-3589-3690
> > ####################
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> > Para editar sua configuração na lista, use o endereço
> > http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
> E-mail classificado pelo Identificador de Spam Inteligente Terra.
> Para alterar a categoria classificada, visite
>
>
http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=nextcorp&_l=1,1145710762.210208.32022.mangoro.hst.terra.com.br,5991,Des15,Des15
>
> Esta mensagem foi verificada pelo E-mail Protegido Terra.
> Scan engine: McAfee VirusScan / Atualizado em 21/04/2006 / Versão: 4.4.00
> /4746
> Proteja o seu e-mail Terra: http://mail.terra.com.br/
>
>
>
>
> --
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.1.385 / Virus Database: 268.4.4/318 - Release Date: 18/04/2006
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa

E-mail classificado pelo Identificador de Spam Inteligente Terra.
Para alterar a categoria classificada, visite
http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=nextcorp&_l=1,1145883569.354252.9525.balcomo.terra.com.br,8657,Des15,Des15

Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: McAfee VirusScan / Atualizado em 21/04/2006 / Versão: 4.4.00/4746
Proteja o seu e-mail Terra: http://mail.terra.com.br/




-- 
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.385 / Virus Database: 268.4.4/318 - Release Date: 18/04/2006






Mais detalhes sobre a lista de discussão lista