[firebase-br] erro procedure

Eduardo Jedliczka edujed em gmail.com
Qui Fev 17 22:56:32 -03 2011


o Problema está no AUTO-CAST (algo que foi implementado no firebird 2.1)

Experimente usar um CAST em  (C.QUANT * '||unqntd||')  para converter
TUDO para float.

==========================
Eduardo Jedliczka
Apucarana - Pr
==========================


Em 17 de fevereiro de 2011 11:51, Levy Moreira
<levymoreira.ce em gmail.com> escreveu:
> Coloquei o fb 2.0 aki na minha maquina e deu pau mesmo erro:
>
> Unsuccessful execution caused by an unavailable resource.
> Variable type (position 1) in EXECUTE STATEMENT 'SELECT C.PROCOMPOS,
> (C.QUANT * ' INTO does not match returned column type.
> At procedure 'SP_ALTERARSALDOMATPRIMA'.
>
>
> o que pode ser ? O fb 2.0 tem algo com o execute procedure?
> Porque a criação da procedure funciona?
>
> CREATE OR ALTER PROCEDURE SP_ALTERARSALDOMATPRIMA (
>    uncdpro integer,
>    unqntd float)
> as
> declare variable cmps_cdpro integer;
> declare variable cmps_qntd float;
> BEGIN
>  for execute statement 'SELECT C.PROCOMPOS, (C.QUANT * '||unqntd||') AS QNTD
> FROM COMPOS C LEFT JOIN in01pro P ON P.cdpro = C.PROCOMPOS WHERE C.CDPRO =
> '||uncdpro
>  into :CMPS_CDPRO , :CMPS_QNTD
>  do
>  begin
>   UPDATE in01pro SET SALDO = SALDO - :CMPS_QNTD  WHERE CDPRO = :CMPS_CDPRO
> ;
>  END
> END;
>
>
>
> 2011/2/17 Levy Moreira <levymoreira.ce em gmail.com>
>
>> Gente é o seguinte, eu tenho um procedure assim:
>>
>>
>> CREATE OR ALTER PROCEDURE SP_ALTERARSALDOMATPRIMA (
>>     uncdpro integer,
>>     unqntd float)
>> as
>> declare variable cmps_cdpro integer;
>> declare variable cmps_qntd float;
>> BEGIN
>>  for execute statement 'SELECT C.PROCOMPOS, (C.QUANT * '||unqntd||') AS
>> QNTD FROM COMPOS C LEFT JOIN in01pro P ON P.cdpro = C.PROCOMPOS WHERE
>> C.CDPRO = '||uncdpro
>>  into :CMPS_CDPRO , :CMPS_QNTD
>>  do
>>  begin
>>    UPDATE in01pro SET SALDO = SALDO - :CMPS_QNTD  WHERE CDPRO = :CMPS_CDPRO
>> ;
>>  END
>> END;
>>
>> e chamo ela assim
>> execute procedure sp_alterarsaldomatprima(1, 3)
>>
>> mas no meu pc funciona tanto do delphi como do ibexpert mas no outro pc
>> retorna esse erro:
>>
>> Unsuccessful execution caused by an unavailable resource.
>> Variable type (position 1) in EXECUTE STATEMENT 'SELECT C.PROCOMPOS,
>> (C.QUANT * ' INTO does not match returned column type.
>> At procedure 'SP_ALTERARSALDOMATPRIMA'.
>>
>> a unica diferença entre esses pcs é que o que da erro roda o fb 2.0 e o meu
>> o 2.1, pode ser isso?
>> estou rodando no mesmo banco de dados.
>>
>
>
>
> --
> Levy Moreira - Programador
> Sistech Informática - Juazeiro do Norte - CE
>
> ...........................................................................
> "Aviso de confidencialidade profissional" - Esta mensagem eletrônica e
> seus anexos são destinados exclusivamente ao(s) destinatário(s) acima e
> podem conter informações confidenciais sujeitas a restrição legal de
> comunicação entre as partes. Caso tenha recebido esta mensagem por engano,
> fica V.S.ª ciente de que a distribuição, divulgação ou disseminação das
> informações aqui contidas ou anexadas é terminantemente proibida, sujeitando
> o responsável às penalidades aplicáveis. Assim, solicitamos a gentileza
> de retorná-la de imediato ao remetente, eliminando-a definitivamente de
> seu sistema. Em caso de dúvida, queira por favor entrar em contato."
>
> "Confidentiality notice" - This message and its attachments are
> addressed solely to the persons above and may contain privileged and
> confidential
> communication. If you have received the message in error, the
> distribution or dissemination of the content hereof is prohibited. Please
> return it
> immediately to the sender and please delete the message from your system
> on a permanent basis. Should you have any questions, please contact."
>
> ...........................................................................
> ______________________________________________
> 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://firebase.com.br/pesquisa
>




Mais detalhes sobre a lista de discussão lista