Oracle 11g保证存储过程同时只能被一个线程执行
来源:互联网 发布:php判断变量是否为空 编辑:程序博客网 时间:2024/06/05 20:19
create or replace procedure p_test as
l_lock_id number;
resource_busy exception;
pragma exception_init(resource_busy,-54);
begin
if ( dbms_lock.request(id => 112233,
lockmode => dbms_lock.x_mode,
timeout => 0,
release_on_commit => TRUE ) <> 0 )
then
raise resource_busy;
end if;
dbms_lock.sleep(100);
commit;
l_lock_id number;
resource_busy exception;
pragma exception_init(resource_busy,-54);
begin
if ( dbms_lock.request(id => 112233,
lockmode => dbms_lock.x_mode,
timeout => 0,
release_on_commit => TRUE ) <> 0 )
then
raise resource_busy;
end if;
dbms_lock.sleep(100);
commit;
end;
session1:运行100s后结束
SQL> call p_test();
session2:
SQL> call p_test();
call p_test()
*
第 1 行出现错误:
ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效
ORA-06512: 在 "TEST.P_TEST", line 11
阅读全文
0 0
- Oracle 11g保证存储过程同时只能被一个线程执行
- oracle 11g 存储过程
- Oracle Job 定时执行一个存储过程
- oracle定时执行一个存储过程
- ORACLE 11G在存储过程里面遍历游标, 调用job任务定时执行
- Android如何保证一个线程最多只能有一个Looper?
- oracle执行存储过程
- oracle 存储过程执行
- 限制用户只能执行某个存储过程
- Oracle 10g 存储过程
- Oracle 10g 存储过程
- 使用oracle 的 PL/Sql 定时执行一个存储过程
- 使用oracle 的 PL/Sql 定时执行一个存储过程
- 使用oracle 的 PL/Sql 定时执行一个存储过程
- 使用oracle 的 PL/Sql 定时执行一个存储过程
- 一个Oracle存储过程
- 如何保证同一个账号同时只能在一个设备登录,账号自动登录
- oracle中执行存储过程
- MySQL计数器表
- Redis几种数据结构的应用场景
- forward redirect
- 十进制转十六进制
- [BZOJ 2656][Zjoi2012]数列(sequence):高精度+递推
- Oracle 11g保证存储过程同时只能被一个线程执行
- 二叉树构建(查找,增加,删除,前、中、后序遍历)
- Redis——基础2(数据类型&基本命令)
- jQuery-为动态添加的元素绑定事件
- 机器学习入门必备Anaconda多环境多版本python配置指导及使用
- 反向传播算法-back propagate
- Linux 下wifi 驱动开发(二)—— WiFi模块浅析
- iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角)
- 主题四 指针和数组(上)----21.指针的基础