相关疑难解决方法(0)

有没有最好的方法可以避免在Oracle中多次执行进程?

让我们说我有一个proceduremyproc.这是一个复杂的过程,我不能允许两个实例同时执行proc.

其实我这样做使用dbms_application_info.set_module:

procedure start_process is
begin
  dbms_application_info.set_module('myproc', 'running');
end;
Run Code Online (Sandbox Code Playgroud)

并在运行过程之前验证:

select 'S'
  from v$session v
 where v.module = 'myproc'
   and v.action = 'running';
Run Code Online (Sandbox Code Playgroud)

在数据库级别,有更好的方法来检查这个吗?

oracle plsql

14
推荐指数
1
解决办法
1865
查看次数

使用Oracle阻止程序PL/SQL

我有一个程序,我希望只有一个用户可以同时执行此过程.

sql oracle plsql procedure

7
推荐指数
1
解决办法
712
查看次数

我应该以哪种模式锁定我的桌子?

我有表EMPLOYEE(idEmp,Name,lastName,Adress),我希望以每次有人插入新员工的方式阻止此表,这个新ID必须连续到最后一个员工的ID ...

- >实际上,可能有几个人试图在同一时间插入新员工,这就是为什么我需要锁定表...这些是替代方案:

  1. 在行共享模式下锁定表EMPLOYEE.

  2. 锁定表EMPLOYEE在行独占模式下.

  3. 在共享模式下锁定表EMPLOYEE.

  4. 锁定表EMPLOYEE在共享行中独占.

  5. 锁定表EMPLOYEE处于独占模式.

我可以选择不止一个.

sql plsql locking

1
推荐指数
1
解决办法
367
查看次数

标签 统计

plsql ×3

oracle ×2

sql ×2

locking ×1

procedure ×1