2010-04-13 22 views
6

'da sp_releaseapplock için bir eşdeğer var Oracle'da bir oturum düzeyinde (bir işlemin kapsamı dışında) özel kilitleri kullanabilme özelliğine ihtiyacım var.Sp_getapplock, oracle

MSSQL'de sp_getapplock, sp_releaseapplock kullanıyorum.

Oracle'da aynı işlevselliği nasıl sağlayabilirim?

cevap

7

DBMS_LOCK Paketi

İstediğin yapacak:

dbms_lock.allocate_unique('control_lock', v_lockhandle); 
v_result := dbms_lock.request(v_lockhandle, dbms_lock.ss_mode); 
... 
v_result := dbms_lock.release(v_lockhandle); 

http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28419/d_lock.htm

+0

Ben kahin ile tek komutla (IDbCommand) 'de ya da bunu yapmak zorunda mıyım bunu yapabilir kendi paketimde plsql'e yazabilir misin? – Noam

+0

Programlama API'nize bağlı olarak, exec_func ile bir PL/SQL bloğu yürütebilmeniz gerekir ('şeyler başlat; son'). –