表A
字段
ID NAME CREATTIAME UPDATETIME
有多个管理员
假设有两个管理员在同时操作一条记录
当一个管理员操作该记录后
另一个管理员再操作该记录时会提示不能操作
就时两个管理员在操作该记录时取得了同一个UPDATETIME
当UPDATE该记录时
会比较现在该记录的UPDATIME
如果和开始取得的不同
则不能UPDATE
这样当一个管理员先UPDATE了该记录
那另一个管理员再UPDATE时UPDATETIME就和他开始时候取得的不同
求一触发器实现
字段
ID NAME CREATTIAME UPDATETIME
有多个管理员
假设有两个管理员在同时操作一条记录
当一个管理员操作该记录后
另一个管理员再操作该记录时会提示不能操作
就时两个管理员在操作该记录时取得了同一个UPDATETIME
当UPDATE该记录时
会比较现在该记录的UPDATIME
如果和开始取得的不同
则不能UPDATE
这样当一个管理员先UPDATE了该记录
那另一个管理员再UPDATE时UPDATETIME就和他开始时候取得的不同
求一触发器实现
我给你补充和解释一下~"锁"可以防止在同时访问相同资源的用户之间出现破坏性的交互操作"锁"分为"行级锁"和"表级锁"
当一个用户进行insert,update,select...for update等时候自动获得"行级锁"
当用户进行提交(commit)或者回退(rollback)等操作的时候,"锁"将被释放"表级锁"又分为"共享锁","公象更新锁","排他锁"等"共享锁":只允许其他用户进行查询操作,并且多用户可以在同一张上面加上此锁
加锁方法:lock table <表名> in share mode;
"共享更新锁":允许其他用户同时查询,插入和更新未被锁定的行
加锁方法:lock table <表名> in share update mode;
"排他锁":只允许其他用户进行查询操作,同一时间只允许一个用户在表上加此锁
加锁方法:lock table <表名> in exclusive mode;理解了以上含义,相信你就明白了.
在一个用户更新表的时候ORACLE会自动给表上加上行级锁,
其他用户在此用户提交或者回退操作以前是不能操作此表的~
所以也就不必要去专门创建触发器去防止多用户的更新操作了!
前几天上课学到的,希望对你有帮助.
^^