[firebase-br] Duvida Select

W O sistemas2000profesional em gmail.com
Ter Set 9 23:59:52 -03 2014


Si lo que quieres es obtener el último número, sin que haya números
salteados, debes usar transacciones pesimistas. Puedes leer este artículo
para entenderlas mejor:

http://firebird21.wordpress.com/2013/06/22/transacciones-optimistas-y-transacciones-pesimistas/

Saludos.

Walter.




2014-09-09 12:03 GMT-04:00 Joel <big.rid.listas em gmail.com>:

> select
>   n.numpedido
> from numpedidos n
> left join pedidos p on (p.numpedido=n.numpedido)
> where ((n.usado= '') and (p.numpedido is null))
>
>
>
> On 09-09-2014 11:41, Rodrigo wrote:
>
>> Bom dia a todos.
>>
>> Fiz um select e ele esta funcionando, porém esta muito lento, pois ha
>> muitos registros no banco de dados.
>>
>> select N.NUMPEDIDO AS NUMPEDIDO from numpedidos N where N.USADO = '' and
>> (SELECT COUNT(*) FROM PEDIDOS WHERE NUMPEDIDO=N.NUMPEDIDO) = 0
>>
>> nesse select retorno o proximo numero de pedido, porem esse numero nao
>> pode repetir na tabela pedidos, entao
>> faço uma pesquisa para verificar se ele ja nao esta sendo usado. Percebi
>> que nesses selects não usam os indices criados. Por isso talvez fique lento.
>>
>> Tentei fazer assim:
>>
>> select N.NUMPEDIDO AS NUMPEDIDO from numpedidos N where N.USADO = '' and
>> N.NUMPEDIDO NOT IN (SELECT NUMPEDIDO FROM PEDIDOS)
>>
>> Funciona mais rapido porem nao retorna os mesmos resultados do que o
>> outro select acima.
>>
>> Existe alguma forma de melhorar esse select, ou uma forma de ele usar os
>> indices criados ?
>>
>> Grato
>>
>>
>> ______________________________________________
>> 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
>>
>
>
> ______________________________________________
> 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