[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