[firebase-br] Select otimizado

Renan Rogowski Pozzo renanrpozzo em gmail.com
Seg Jun 2 14:35:48 -03 2014


Resolvi da seguinte forma:
coloquei a consulta do where em uma variável e carrego ela de acordo com a
condição:

Ex.:
-- SQL recebe a condição

*  if (:tipo = 2) then*
*    sql = ' (ped.id_cliente = '|| :id_cliente ||') ' ;*
*  else*
*    sql = ' (ped.id_cliente = '|| :id_cliente ||' or ped.id_indicador =
'||:id_cliente||') ';*

-- no select, que coloquei dentro de um execute statement, passo a variável
no final

*  for*
*    execute statement('*
*      select ....*

*    where '||:sql')*

Assim não crio repetições do select dentro da procedure.

Abraço,
Renan Rogowski Pozzo

*"Entrega o teu caminho ao Senhor; confia nele, e ele o fará." Salmos 37:5*


Em 2 de junho de 2014 11:25, Renan Rogowski Pozzo <renanrpozzo em gmail.com>
escreveu:

> Olá Rodrigo,
> justamente a ideia é otimizar a consulta.
> Queria em contrapartida reduzir código na procedure.
>
> Abraço,
> Renan Rogowski Pozzo
>
> *"Entrega o teu caminho ao Senhor; confia nele, e ele o fará." Salmos 37:5*
>
>
> Em 2 de junho de 2014 11:18, Paulo Sérgo Feix <paulinhofeix em gmail.com>
> escreveu:
>
> Na procedure vc pode faz, eu tenho uma desta forma
>>
>>  WHERE
>>     (
>>      (UPPER(P.IDN_STATUS) = UPPER('A'))
>>      AND
>>      (
>>       (
>>        (:ISECCION > 0)
>>        AND
>>        (P.SECCION = :ISECCION)
>>        )
>>        OR
>>        (:ISECCION IS NULL)
>>        )
>>      )
>>
>>
>> Em 2 de junho de 2014 09:09, Renan Rogowski Pozzo <renanrpozzo em gmail.com>
>> escreveu:
>>
>> > Bom dia,
>> > gostaria de saber se é possível, ou se alguém tem alguma sugestão para a
>> > situação abaixo:
>> >
>> > Em um select que tenho em uma procedure, a clausula where vai mudar
>> > dependendo da condição.
>> >
>> > Ex.:
>> > if (:tipo = 2) then
>> > select
>> > ... where (ped.id_cliente = :id_cliente)
>> > else
>> > select
>> > ... where (ped.id_cliente = :id_cliente or ped.ind = :id_cliente)
>> >
>> > Irá mudar apenas a parte do where, o restante do select é igual.
>> > Existe uma forma de eu aproveitar o mesmo select e mudar apenas a
>> cláusula
>> > where dependendo da minha condição?
>> >
>> > Abraço,
>> > Renan Rogowski Pozzo
>> >
>> > *"Entrega o teu caminho ao Senhor; confia nele, e ele o fará." Salmos
>> 37:5*
>> > ______________________________________________
>> > 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
>> >
>>
>>
>>
>> --
>> Paulinho Sérgio Feix
>> ______________________________________________
>> 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