[firebase-br] select dinamico

Daniel Felgar daniel em lojafacil.com.br
Qua Mar 17 08:37:44 -03 2010


SQLTEXT -> Declarado como variavel de varchar... um tamanho que comporte 
a select
PCODSETOR, PCODGRUPO, PCODMARCA  são parametros de entrada
campo1, campo2, campo3 sao parametros de saida

no delphi voce chama... ."Select * from ProcedureName(PCODSETOR, 
PCODGRUPO, PCODMARCA)"

SQLTEXT = "select campo1,campo2,campo3 from produtos "
IF (PCODSETOR > 0) then
   SQLTEXT = SQLTEXT||" where codsetor = "||pcodsetor
else IF (PCODGRUPO > 0) then
   SQLTEXT = SQLTEXT||" where CODGRUPO= "||PCODGRUPO
else IF (PCODMARCA > 0) then
   SQLTEXT = SQLTEXT||" where CODMARCA= "||PCODMARCA

  for execute statement sqltext
       into :campo1,campo2,campo3
do
begin
   suspend;
end

Abraços Daniel

Em 16/03/2010 15:55, Denilson escreveu:
> No delphi tenho um select dinamico onde tenho alguns testes
>
> so q ficou lento preciso fazer em uma procedure
>
>
>
> no delphi eu informo
>    codigo  do setor,
>    codigo  do grupo,
>    codigo  da marca
>    ...
>
>
> se os campos estiverm em branco pego geral
>
>     ex:select * from produtos
>
> mas se algum campo estiver prenchido
>
> se o grupo estiver preenchido:
>      ex: select * from produtos where grupo=:grupo
>
> se o grupo e o setor estiver preenchido
>
>      ex: select * from produtos where grupo=:grupo and setor=:setor
>
>
> como faco pra fazer em uma procedure nao sei como fazer?
>
>
>
>
>
>
>
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: 
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>






Mais detalhes sobre a lista de discussão lista