CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Oracle >  基础和管理

序列的值好象回滚不掉,怎么样才能保证序列的值是连续的?

楼主hard_blue(深蓝)2004-05-03 07:46:46 在 Oracle / 基础和管理 提问

序列的值好象回滚不掉,怎么样才能保证序列的值是连续的? 问题点数:0、回复次数:16Top

1 楼l2g32003(lg)回复于 2004-05-03 08:57:25 得分 0

不能   序列的值会因为   rollback   ,数据库的   shutdown   abort   ,共享池的刷新   而造成不连续Top

2 楼ckc(火)回复于 2004-05-03 08:57:33 得分 0

删除序列,再重新建立,给出初值Top

3 楼laobanmail(不喜欢抽烟的人)回复于 2004-05-03 08:58:44 得分 0

序列的值不能回滚,并且,序列的连续性不一定被保证  
  在建序列的时候,+一句   no   cache能够加强序列的连续性  
  但是,有时候还是不能连续性,建议要是确实需要连续的计数  
  还是自己写一个函数吧Top

4 楼l2g32003(lg)回复于 2004-05-03 09:09:39 得分 0

如果你想要一个连续的序列值可以考虑用一个表来替代   sequenceTop

5 楼welyngj(无爱)回复于 2004-05-03 09:10:01 得分 0

alter   sequence   seq1   nocacheTop

6 楼atao245993(阿涛)回复于 2004-05-03 13:17:40 得分 0

抛弃序列,  
  select   max(id)   from...  
  然后引用此值Top

7 楼ern(与Oracle斗,其乐无穷)回复于 2004-05-03 16:35:43 得分 0

楼上的方法是个折中,但是如果数据量较大,那效率太低Top

8 楼black_snail(●男人要忍○)回复于 2004-05-03 17:28:10 得分 0

保持绝对连续没有可能!Top

9 楼snowy_howe(天下有雪)回复于 2004-05-04 11:29:42 得分 0

保持绝对连续没有可能!  
  我非常赞同这句话。  
  如果用户非这么要求,我只好将该字段作为非关键字,  
  每隔一段时间执行一次重新生成数据工作,太麻烦了。Top

10 楼MountLion(闷头睡)回复于 2004-05-04 11:56:59 得分 0

select   max(id)   from...  
  有没有考虑多用户?  
   
  所以说:  
  保持绝对连续没有可能!  
  我非常赞同这句话。Top

11 楼baojianjun(包子)回复于 2004-05-04 13:23:35 得分 0

同意樓上各位的說法  
  如果一定要做到連續在理論上是有可以實現的  
  但實際如果做的話會非常麻煩,因為我們可能的做法就是對每個  
  新的序列值先檢查之後再修改,對於數據量大的情況那將是一個災難Top

12 楼skystar99047(天星)回复于 2004-05-04 14:00:12 得分 0

始终保持连续不太可能,如果从中删除一条记录呢,难道要把所有的记录再调整一遍吗?  
  所以说要求始终连续很难做。  
  如果想那样做,还不如用rownum,不过没什么必要:)Top

13 楼Petergepeter(拔刀斋)回复于 2004-05-04 14:57:21 得分 0

有理Top

14 楼magicnbh()回复于 2004-07-21 09:44:37 得分 0

upTop

15 楼dinya2003(OK)回复于 2004-07-21 10:16:44 得分 0

在建sequence时设置cache   10可以让该序列每次取下10个序列的值供用户使用,在系统shutdown   abort时刷新共享池,系统将Top

16 楼dinya2003(OK)回复于 2004-07-21 10:19:10 得分 0

没输完就发出了         接上  
   
  系统将丢弃没有用完的序列值,导致序列不连续,如果将cache设为0,系统将不会将序列的值放到缓冲区中,影响速度,如果设置初始文件中cache的值,可以让序列连续,(此方法本人未验证)Top

相关问题

  • 请问delphi的序列号,好象SKI-HD3-C139 92x0-92x不行!
  • 序列产生的结果为什么不连续?
  • 请问如果创建当天日期内的连续序列?
  • 求助sql实现序列号的连续合并..
  • 怎样获得序列的当前值?ora8.16
  • MFC中如何通过ODBC读取Oracle中序列的值
  • MFC中如何通过ODBC读取Oracle中序列的值
  • 怎样用递归实现一个序列的逆值
  • 调用储存过程如何给序列好的值.
  • 关于序列的问题(如何在insert操作后能够知晓insert进去的序列值)

关键词

  • 系统
  • 用户
  • 序列
  • 连续
  • 值
  • 回滚
  • 连续性
  • 保证
  • cache
  • 不能

得分解答快速导航

  • 帖主:hard_blue

相关链接

  • Oracle类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo