[firebase-br] Erro ao chamar Stored Procedure

Jeter Rabelo Ferreira jeter.rabelo em gmail.com
Ter Maio 23 15:45:16 -03 2006


Obrigado Kléber,
Deu certo.

[]'s
Jéter Rabelo

Em 23/05/06, Kléber Caneva <kdcc em terra.com.br> escreveu:
>
> Substitua
> EXECUTE STATEMENT strlen(ID_CONTA_RES) INTO :I_QTDE;
>
> por
> Select TAM From strlen(ID_CONTA_RES) INTO :I_QTDE;
>
> []´s
>
> Kléber Caneva
>
> ----- Original Message -----
> From: "Jeter Rabelo Ferreira" <jeter.rabelo em gmail.com>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Tuesday, May 23, 2006 3:00 PM
> Subject: [firebase-br] Erro ao chamar Stored Procedure
>
>
> Boa tarde,
> Estou modificando uma rotina de cálculo do meu sistema para Stored
> Procedure.
> Eu precisava de uma função de Length() para umas das condições.
> Pequei um exemplo na lista de discussão de uma função deste tipo, segue
> abaixo:
>
> CREATE PROCEDURE STRLEN (
>     TEXTO VARCHAR(1000))
> RETURNS (
>     TAM INTEGER)
> AS
> DECLARE VARIABLE BUF VARCHAR(1000);
> BEGIN
>   TAM = 0;
>   BUF = '';
>   WHILE (NOT TEXTO LIKE BUF) DO
>   BEGIN
>     TAM = TAM + 1;
>     BUF = BUF || '_';
>   END
> END
>
> O Firebird cria a função corretamente, mas, na hora de chamá-la, acontece
> o
> seguinte erro:
>
> An error was found in the application program input parameters for the SQL
> statement.
> Dynamic SQL Error.
> SQL error code = -804.
> Function unknown.
> STRLEN.
>
> A Rotina que eu utilizo para chamar esta procedure é a seguinte:
> if (id_conta_res <> '') then
> begin
>   EXECUTE STATEMENT strlen(ID_CONTA_RES) INTO :I_QTDE;
>   if (I_QTDE = 7) then
>   begin
>     X_WHERE2 = X_WHERE2 || 'cx.ID_CONTA_RES=' || :id_conta_res;
>     if (id_cta_indiv <> '') then
>       X_WHERE2 = X_WHERE2 || 'and cx.ID_CTA_INDIV=' || :id_cta_indiv;
>     end
>   else
>   begin
>     X_WHERE2 = X_WHERE2 || 'cx.ID_CONTA LIKE ' || :id_conta_res;
>     X_WHERE2 = X_WHERE2 || '%';
>   end
> end
>
>
> Alguem poderia me ajudar?
>
> Delphi + DBExpress + Firebird 1.5.3.4870
>
> []'s
> Jéter Rabelo
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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=kdcc&_l=1,1148407265.938487.21773.mangoro.hst.terra.com.br,4728,Des15,Des15
>
> Esta mensagem foi verificada pelo E-mail Protegido Terra.
> Scan engine: McAfee VirusScan / Atualizado em 23/05/2006 / Versão:
> 4.4.00/4768
> Proteja o seu e-mail Terra: http://mail.terra.com.br/
>
>
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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
>



Mais detalhes sobre a lista de discussão lista