我需要能够在oracle中的会话级别(在事务范围之外)使用自定义锁。
在MSSQL中我使用的是sp_getapplock,sp_releaseapplock。
如何在Oracle中实现相同的功能?
答案 0 :(得分:7)
DBMS_LOCK套餐
这将做你想要的:
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