92.Oracle数据库SQL开发之 修改表内存——数据库事务的事务锁
欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/49976047
要支持并发事务,ORACLE数据库软件必须确保表中的数据一直有效。可以通过锁(lock)来实现。
例如:
1. T1执行给一条UPDATE语句修改顾客1的记录,但是T1并没有执行COMMIT语句。
2. T2也视图执行一条UPDATE语句修改顾客1的记录,但是由于该行早已被T1加锁了,因此T2现在不能获得该行的锁。T2的UPDATE语句必须一直等,直到T1结束并释放该行上的锁为止
3. T1执行COMMIT语句并结束,从而释放该行上的锁。
4. T2获得该行上的锁,并执行UPDATE语句。T2获得该行上的锁后一直持有,直到T2结束为止。
当一个事务已经拥有某一行上的琐时,另外一个事务不能获得该行上的锁。