[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