[firebase-br] Erro ao chamar Stored Procedure

Kléber Caneva kdcc em terra.com.br
Ter Maio 23 15:07:24 -03 2006


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/








Mais detalhes sobre a lista de discussão lista