最近碰到一个问题,想把一个存储过程锁住,每次只让一个进程进去执行,上一个结束了下一个才能继续。
不过没找到合适的锁住存储过程的方法。
打算用
select s.id
into 变量
from 表 s
where
rownum=1;
试了下,貌似是达到了锁住存储过程的要求,不知道有没有什么危险。
大家帮忙看看。
------解决思路----------------------
这是锁存储过程,还是锁表
不过通过锁表来实现存储过程排队,倒是不错的想法
创建表s,里面只含有一条记录
存储过程执行的开头部分,锁住表s的这条记录,使得该存储过程在别的会话中执行时,会在这里等待。执行结束后,释放锁,此时下一个会话就会开始执行
------解决思路----------------------

------解决思路----------------------
嘿嘿,竟然想到的方法都是一样的,这个应该是最优的解决方法了