关于lock table
数据库:Syabse
在存储过程的某个事务中,想使用lock table来禁止其它事务访问该表,语句如下,
BEGIN TRAN
IF 条件1
lock table A in exclusive mode wait 60
。。。。
COMMIT TRAN
END
问题:
上述语句是只有满足条件1才锁表,还是在任何情况下只要进入事务就锁表?
谢谢大家!
[解决办法]
不懂。不过从字面上看满足条件1才锁表。
[解决办法]
滿足條件時
[解决办法]
study
[解决办法]
BEGIN TRAN 本来就已经加锁了,现在如果满足你的条件就有放一个锁上去,虽然都是在一个连线中,可是如果这时如果在BEGIN TRAN之后if之前发生并发,那么你死锁的几率肯定大,至于为什么我也说不清楚,根据我的经验数据库里的锁如果同时存在很多,发生死锁的机率也大的多了
[解决办法]
lock table都是在事务结束的时候解锁的
所以需要一种显示的解锁方式