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

NextCorp Informatica nextcorp em terra.com.br
Dom Abr 23 13:54:41 -03 2006


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






Mais detalhes sobre a lista de discussão lista