[firebase-br] Condicao no For Select

Sandro Souza escovadordebits em gmail.com
Seg Dez 7 13:05:59 -03 2009


Bom dia/tarde Marcelo.

Grande Marcelo, você já tentou utilizar uma união de SELECTs?

Por exemplo:

for
select first 200 * (
  select ID_TAREFA from TAREFA where prioridade = 1
  union
  select ID_TAREFA from TAREFA where prioridade = 2)
  into :ID_TAREFA_ENCONTRA
do begin
  ID_TAREFA = :ID_TAREFA_ENCONTRA;
  suspend;
end

Ou ainda:

for
select * (
  select first 200 ID_TAREFA from TAREFA where prioridade = 1
  union
  select first 200 ID_TAREFA from TAREFA where prioridade = 2)
  into :ID_TAREFA_ENCONTRA
do begin
  ID_TAREFA = :ID_TAREFA_ENCONTRA;
  suspend;
end

Espero ter ajudado mais que atrapalhado. :D

2009/12/7 Marcelo Moreira <marcelomoreira.souza em gmail.com>

> Pessoal,
> Boa tarde!
>
> No Firebird 2.1.3 tenho uma SP mais ou menos assim:
>
> for
> select frist(200) ID_TAREFA from TAREFA into :ID_TAREFA_ENCONTRA
> do begin
> ID_TAREFA = :ID_TAREFA_ENCONTRA;
> suspend;
> end
>
> So que eu preciso fazer no meu select um certo tipo de prioridade pois
> tenho
> tarefas com dois tipo de priridade = [1 ou 2]
> Gostaria que o primeiro select fosse dos registros com prioridade 1 e caso
> ele nao encontre nada com prioridade 1 ai sim tente achar as que tem
> prioridade 2
>
> Tem como fazer algo ali para que eu nao tenha que fazer um select antes do
> for para saber se tem registros com prioridade 1 ou nao?
>
> Obrigado pela atencao.
>
>
>
> --
> Marcelo Moreira
> (31) 8420-2723
> E-mail / MSN: marcelomoreira.souza em hotmail.com
> E-mail: marcelomoreira.souza em gmail.com
> Skype: marcelomoreira.souza
> ______________________________________________
> 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