[firebase-br] Problema com o select

Pablo Cunha cunhapablo em yahoo.com.br
Sex Ago 11 13:58:23 -03 2006


Cara, muito obrigado pela sua ajuda, eu estava numa reunião e por isso não 
respondi de imediato, e estarei voltando para ela agora, ai depois eu vou 
ler os e-mail com calma. Obrigado novamente.


----- Original Message ----- 
From: "Jeudí Prando" <jeudiprando em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, August 11, 2006 12:07 PM
Subject: Re: [firebase-br] Problema com o select


nao tem nada de errado desta vez, só documentei para que todos possam
entender e ajudar caso precise

--select * from retorna_endereco(1)
CREATE PROCEDURE RETORNA_ENDERECO
(
       pi_codigo integer   -- codigo do produto, parametro de entrada
)
returns
(
       po_codigo integer,  -- codigo do endereco, parametro de saida
       po_nome varchar(60) -- nome do endereco, parametro de saida
)
as
  DECLARE VARIABLE vrNome varchar(60);    -- variavel para uso interno,
filtrar registros no SQL1
begin
     for                                  -- for para retornar os
endereco caso mais de um registro seja retornado
         select                           -- select que retorna um ou
mais de
             e2.nm_descricao_end          -- um inicio de endereco
         from                             -- SQL2
             produto_endereco pe, endereco e2
         where
             pe.id_produto = :pi_codigo and
             pe.id_end = e2.id_end
         into :vrNome
     do
     begin
         for                             -- FOR para retornar cada linha
de endereco e nao so a ultima
             select                      -- select que retorna todos os
endereco
                 e.id_end,               -- de acordo com cada linha de
inicio
                 e.nm_descricao_end      -- de endereco retornado no
selec anterior
             from                        -- SQL1
                 endereco e
             where
                  e.nm_descricao_end like :vrNome||'%'
             into :po_codigo, :po_nome
          do
          suspend;                        -- para nao retornar somente o
ultimo valor
     end
end

lembrando:

# utilize o where em cima da PK ou FK ou algum indice mais especifico
para o mesmo

# utilize inner join no SQL2:

         select
             e2.nm_descricao_end
         from
             produto_endereco pe
         inner join endereco e2 on
             e2.id_end = pe.id_end
         where
             pe.id_produto = :pi_codigo and


boa sorte!

______________________________________________
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


-- 
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.405 / Virus Database: 268.10.9/416 - Release Date: 10/8/2006


	
	
		
_______________________________________________________ 
O Yahoo! está de cara nova. Venha conferir! 
http://br.yahoo.com





Mais detalhes sobre a lista de discussão lista