select * from table1 where 条件 for update; 然后commit或rollback解除锁定
我现在知道了 对象表如果有唯一索引的话就可以锁定单行数据 可是居然发生了我用commit;没有解锁的情况 ft
不会呀,我测试了,在你加锁的用户下,commit后,其他的用户就可以对这条记录进行操作了
现在自己总结一下 对有唯一索引的表进行 select * from table where index=num for update操作时 只对index=num这行数据进行锁定 我可以做如下的操作 select * from table where index=num_b for update //num!=num_b /*当然 其他的直接查询语句不加for update的可以无限制操作*/同时 使用commit or rollback可以进行解锁 *^_^*最后谢谢大家的参与 希望我的经验可以对大家有些帮助
to klyh(风笛) 呵呵 我开始是在PL/SQL Developer下进行试验的 结果点击commit的按钮后其他的窗口中的操作还在等待中...最后我把本来的窗口关掉才好了 在其它的如sqlplus方式下没有问题了 :)
然后commit或rollback解除锁定
可是居然发生了我用commit;没有解锁的情况 ft
对有唯一索引的表进行
select * from table where index=num for update操作时 只对index=num这行数据进行锁定
我可以做如下的操作
select * from table where index=num_b for update //num!=num_b
/*当然 其他的直接查询语句不加for update的可以无限制操作*/同时 使用commit or rollback可以进行解锁
*^_^*最后谢谢大家的参与 希望我的经验可以对大家有些帮助
呵呵 我开始是在PL/SQL Developer下进行试验的 结果点击commit的按钮后其他的窗口中的操作还在等待中...最后我把本来的窗口关掉才好了
在其它的如sqlplus方式下没有问题了 :)