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)

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s