Res: Re: [firebase-br] Problemas com procedure

Flavio Vieira de Macedo flavio em virtualmemory.com.br
Seg Dez 6 15:19:09 -03 2004


O que vejo é que com o debug do ibexeprt ele monta todos os dados na tabela
porem quando executo ele retorna um unico registro (só o primeiro)

Flavio 
 
 

-------Mensagem original-------
 
De: Marcio Neves
Data: 12/05/04 21:24:41
Para: FireBase
Assunto: Re: [firebase-br] Problemas com procedure
 
Flávio.
Já tive problemas semelhantes e resolvi alterando a posição dos Suspends.
Numa análise ligeira vejo que você está "encapsulando" os For Select e os
"end" dos Do Begin estão no final. Tente colocar o último suspend após eles.
Espero ter ajudado. Márcio
 
----- Original Message -----
From: "Flavio Vieira de Macedo" <flavio em virtualmemory.com.br>
To: <lista em firebase.com.br>
Sent: Saturday, December 04, 2004 6:13 PM
Subject: [firebase-br] Problemas com procedure
 
 
 
Minha procedure so esta retornando 1 registro. Se alguem puder me ajudar ai
vai ela.
 
CREATE PROCEDURE CREP (CODIGO_PRODUTO CHAR(26))
                     RETURNS (PRODUTO CHAR(26),
                              valor float,
                              nivel integer)
AS
DECLARE VARIABLE COMPONENTE CHAR(26);
begin
 
   FOR SELECT
         P030.p030_l010_codigo_componente
      FROM
         P030
      WHERE
         P030.P030_L010_NIVEL_SUP = :codigo_produto
      INTO
         :COMPONENTE
 
      DO begin
         nivel = 1;
         CODIGO_PRODUTO = :COMPONENTE;
         produto = :componente;
         select
            l010.l010_valor_custo_cif
         from
            l010
         where
            l010.l010_codigo = :componente
         into
            :valor;
         suspend;
 
         for SELECT
            P030.p030_l010_codigo_componente
         FROM
            P030
         WHERE
            P030.P030_L010_NIVEL_SUP = :COMPONENTE
         INTO
            :COMPONENTE
         DO begin
            nivel = 2;
            CODIGO_PRODUTO = :COMPONENTE;
            produto = :componente;
 
            select
               l010.l010_valor_custo_cif
            from
               l010
            where
               l010.l010_codigo = :componente
            into
               :valor;
            suspend;
         end
     END
END;
______________________________________________
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
 
 
 
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuragco na lista, use o enderego http://mail.firebase
com.br/mailman/listinfo/lista_firebase.com.br
 
 
__________ Informação do NOD32 1.940 (20041205) __________
 
Esta mensagem foi verificada pelo NOD32 Sistema Antivírus
http://www.nod32.com.br
 
 


Mais detalhes sobre a lista de discussão lista