简单oracle存储过程测试

时间:2023-02-10 14:56:00

存储过程

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