[firebase-br] Order by Condicional

Gladiston Santana gladiston em vidy.com.br
Ter Mar 15 11:57:12 -03 2016


Colega, se existe lógica e essa lógica pode ser expressada numa sentença
então sempre dá.
Do jeito que você quer, é o caminho mais longo e menos performático que é
assim:
  q1='select a.id_colaborador from colaborador a ';
  if (:p_id_colaborador=0) then
  begin
    q1=:q1||'where (a.status=''A'') ';
  end
  else
  begin
    q1=:q1||'where (a.id_colaborador='||cast(:p_id_colaborador as
varchar(8))||') ';
  end
  for execute statement (:q1)
    into
      :lid_colaborador do
  begin
     (...)
  end

Dessa forma você constroi a query do jeito que deseja e a usufrui dela com
for/select,
Mas não vejo razão para isso.



Mais detalhes sobre a lista de discussão lista