O generator resolve, mas você tem que pegar o número a partir dele e abandonar 
a query do SELECT MAX(.....
  
  Quanto ao índice, eles podem ser uma faca de 2 gumes. Se a tabela  possui 
muitos índices, cada inserção de registro gera a atualização de  todos eles, o 
que torna o processo mais lento!

Alcistemas Informática <[EMAIL PROTECTED]> escreveu:  Prezados amigos, estou 
com o seguinte problema:

uso firebird 1.5, componentes de acesso da paleta Interbase do Delphi 7

preciso  gerar o proxímo número de pedidos, em uma base dados com 102.000  
pedidos já gravados e uma média de 400.000 itens relacionados no total
tem uns 2000 clientes, o problema é:

para gerar o número do proximo número do pedido faço assim:


         Dm.Qy_033.Close;
         Dm.Qy_033.SQL.Clear;
         Dm.Qy_033.SQL.Add('SELECT MAX(NM) AS GERAL FROM PEDIDOVENDAS');
         Dm.Qy_033.Open;

         if Dm.Qy_033.Fields[0].Text <> '' then
            EditNm.Text :=  IntToStr(StrToInt(Dm.Qy_033.Fields[0].Value)+1)
         else
            EditNm.Text := '1';
        end;


Tenho então 2 problemas:


1) quando se tem um outro usuario fazendo o gravar no mesmo momento os números 
de pedidos se repetem nas duas máquinas.

2) Quando o gravar é sozinho, mesmo sem ninguem gravando ao mesmo tempo a 
demora é muito grande.

as vezes da erro de DEADLOCK ?????

Criei indice e nada, usei um Generator e nada também.... alguém poderia me dar 
uma ajudinha ?





[As partes desta mensagem que não continham texto foram removidas]





-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>


 
Links do Yahoo! Grupos




 






Valfrid-Ly Silva Couto
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
ICQ 15114646
                
---------------------------------
 Yahoo! doce lar. Faça do Yahoo! sua homepage.

[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a