存储过程
create or replace procedure lcd(lid in number,lname out varchar2) as
lock_handler varchar2(128);
request_ number;
release_ number;
begin
dbms_lock.allocate_unique('tlcd',lock_handler,3600);
request_:=dbms_lock.request(lock_handler,dbms_lock.x_mode,60,false);
--0:成功申请到锁;1:超时;2:死锁;3:参数错误;4:已经拥有特定id或handle的锁;5:不合法的lockhandle; dbms_output.put_line('request_='||request_); dbms_output.put_line('lid='||lid); lname:='hehe'; release_:=dbms_lock.release(lock_handler);exception when others then dbms_output.put_line('error='||sqlerrm);end lcd;
命令执行
variable nn varchar2(50);
exec lcd(1,:nn);
PL/SQL procedure successfully completed
nn
---------
hehe