Oracle中有没有SqlServer的时间戳类型?如何指定对某一行加某一个种类锁?

wangjiamin 2005-04-12 04:27:26
sql server 就是 每对行做一次更新,时间戳就会自动更新一次,这样控制读取的数据是否修改过?

对某一行加锁主要控制 并发.
sql server 中 可以用一下语句明确指定锁,
select id from tableName with(updlock) where id = 123

oracle?
...全文
141 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhongqq 2010-05-27
  • 打赏
  • 举报
回复
oracle 读取的是锁定前的数据,不会读取锁定时变化的数据。但是有个限制 这个锁定时间不能太长。 超过数据库限制会报错(相当于找不到原来的数据,因为存储不了太久,一般设置几个小时吧,也足够用了)
zhongqq 2010-05-27
  • 打赏
  • 举报
回复
读取的是你写入之前的状态,只有当你事务提交了才会读取提交后的结果, 不会读取你提交过程中的状态。
wangjiamin 2005-04-12
  • 打赏
  • 举报
回复
写入不用影响读取??不会吧,哪是不是隔离级别低啊,如果可串行话级别也会不影响么?我表示怀疑。
nebulaly 2005-04-12
  • 打赏
  • 举报
回复
哪我做统计查询时候忽略所有锁怎么处理?

ORACLE的写入不会阻塞读取,所以不用考虑这个问题
wangjiamin 2005-04-12
  • 打赏
  • 举报
回复
哪我做统计查询时候忽略所有锁怎么处理?(防止别人锁着要统计的表,对于不是很精确的查询这个方法很不错的)
qiaozhiwei 2005-04-12
  • 打赏
  • 举报
回复
楼上的正解
LGQDUCKY 2005-04-12
  • 打赏
  • 举报
回复
oracle使用FOR UPDATE

select id from tableName where id = 123 for update


使用完毕后提交或者回滚释放锁

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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