[firebase-br] SP travando

Kelver Merlotti kmerlotti em gmail.com
Seg Set 22 16:26:16 -03 2008


pode ser tbm a história da UDF..
como faria isso com WHILE, apois segundo a documentação que li, o WHEN
EXCEPTION só pode ser usando exatamente antes do END final, não é
isso?
Abraços!

2008/9/22 Adriano dos Santos Fernandes <adrianosf em uol.com.br>:
> Kelver Merlotti escreveu:
>> A idéia é fazer o seguinte..
>>
>> PROCEDURE TESTE AS...
>>   ...
>>   UPDATE TABELA SET... ;
>>   SUSPEND;
>>
>>   WHEN EXCEPTION DO
>>   BEGIN
>>     MYSLEEP(2000);
>>     EXECUTE PROCEDURE TESTE;
>>   END
>> END
>>
>> Captou? tipo.. se o update não funfar, aguarda um pouco e tenta denovo..
>> Concordo que a CPU vai disparar, mas não pode passar do tempo que eu
>> passar pra MYSLEEP, certo? Se eu disser MYSLEEP(1000), não pode passar
>> de 1 segundo a 100%.
>>
> Eu nunca faria isso dessa maneira, mas se vc quer... :-)
>
> 1) Então faz uma UDF que dá o sleep. Do jeito que vc está fazendo vc
> "bloqueia" o SuperServer e não vai permitir que as outras conexões façam
> o que elas precisam fazer.
> 2) Faça um WHILE ao invés de chamar a procedure recursivamente.
>
>
> Adriano
>
>
> ______________________________________________
> 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
>



-- 
Kelver Merlotti
Coordenador Editorial do Portal www.ActiveDelphi.com.br
Contato: kelver em activedelphi.com.br
Google: kmerlotti em gmail.com
Msn: kmerlotti em hotmail.com




Mais detalhes sobre a lista de discussão lista