Oracle'da sleep komutu

Bir programda örneğin bir işi bir kaç defa belli bir süre aralığıyla tekrar denemek isteyebilirsiniz. Örneğin mail gönderme işleminiz başarısız olursa toplamda 3 defa 10 sn. aralıkla bu işi tekrar yapmayı deneyebilirsiniz, geçici network problemleri ya da anlık problem bu süre zarfında düzelirse işleminiz başarılı bir şekilde gerçekleşmiş olur. Çoğu dilde bu işi yapan ve süreyi genelde milisaniye cinsinden belirtebildiğimiz sleep komutu vardır. Oracle'ın PL/SQL dilinde bunun karşılığı dbms_lock.sleep procedure'üdür ve süre saniye cinsinden verilir. Örnek kullanım aşağıdaki gibidir.

declare
   l_date_1    timestamp;
   l_date_2    timestamp; 
begin
   l_date_1 := systimestamp;
   dbms_lock.sleep(1);//1 sn. uyu. (1 ms. değil dikkatli olun!)
   l_date_2 := systimestamp;
   dbms_output.put_line( to_char(l_date_2 - l_date_1, 'ss') );    
end; 

Sleep içine 0.1 (10 salise), ya da 0.01 (1 salise) yazabilirsiniz (tam sayı vermek zorunda değilsiniz)

Yorumlar

Bu blogdaki popüler yayınlar

Delphi - What does Abort/Break/Exit

Türkçe Upper

$REGION