Oracle8中如何锁住记录,如何预先判断记录是否已锁?

yourkith 2000-06-02 11:25:00
...全文
168 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xjml 2001-04-18
  • 打赏
  • 举报
回复
在sqlserver中如何得到是否加锁了的返回信息?
Tommy Chang 2000-06-03
  • 打赏
  • 举报
回复
1。select * from yourtable where primarykeyid=anynumber for update (nowait)
nowait的含义是如果不能加锁,就直接返回,是个可选参数。

2。如果你是根据流程来的话,用上面的语句加锁之后,一定可以知道加锁是否成功,经过一次commit,rollback,logoff之类的操作后,锁就被释放了。
如果不是,直接查,我不会。或用用同样的数据来update 那条记录,根据返回信息可以知道是否加锁了。或者是通过数据字典查,今晚找不到数据库来试,能自己先看下数据字典的文档吗?

其实,很多做法都是在update或delete操作之后判断返回值,这样逻辑处理起来较简单。只需根据出错代码就知道如果处理下一步了。

想想看,大多数情况下,你需要加锁来修改、删除记录,而不是真的去保护记录,所以上面的那种方法很实际有效。

:)

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧