锁
查询其他用户的表 <用户名.表名>
锁定模式:
行级锁
行被排他性锁定
在某行的锁被释放之前,其他用户不能修改此行
使用commit rollback命令释放锁
获取行级锁
使用insert、update语句,自动上行级锁
使用select...for update [of 列名] 语句自动获取行级锁
在表的一行或多行放置排他锁,用于防治其他用户更新,删除该行,但是可以执行之外的其他操作。
for update wait 10; 10是等待的秒数, 可以提示其他等待锁的用户,超过10秒将返回给等待用户错误信息(资源已占用)。
表级锁
语法:Lock table<table_name> in <mode>;
三种模式(语法中代替 <mode>):
共享: share mode 其他用户可以查询,不可以增删改。
多个用户可以对同一个表上共享锁。
共享更新:share update mode 锁定要被更新的行,
其他用户可以增删改查未被锁定的行,select...for update就强制使用了共享更新锁。
允许多个用户同时锁定表中不同的行。
排他: exclusive mode 仅允许其他用户查询数据
不允许增删改
在同一时间允许以为用户在表上放置排他锁
后跟no wait立即提示资源正忙