×

oracle序列对象
  

新手182831 115

{{ttag.title}}
序列是生成唯一整数值的结构。

创建序列的语法:
create sequence [schema.]sequencename [increment by number] [start with number] [maxvalue number] [minvalue number] [cycle | nocycle] [cache number | nocache] [order | noorder];

cache number:为了提升性能,oracle预先成批的发出序列值,并将他们缓存起来,以便发送给用户,默认生成并缓存接下来的20个值。如果此时系统重启这已缓存的20个值将不再使用。
order:只与集群数据库有关。

使用:
序列对象的属性nextval,代表下一值,
序列对象的属性currval,代表当前值。


实验:
开启两个并发会话进行测试。
在a会话中创建序列对象

再查看属性nextval的值,每查看一次,返回值加1,不管是否在同一会话里。

查看属性currval的值,在同一会话里该值为最后1次再查看属性nextval的值相同,即时在其他会话里该序列再次被查看属性nextval的值。
创建一个带主键的表,再创建一个序列来生成主键值。

-
在a会话中向新表插入一行并提交。在b会话中向新表插入一行不提交,在a会话中向新表插入一行并提交,再在b会话中回滚,可以看到,在已用了的序号,就用了不会被回滚。
seq2.jpg (10.79 KB, 下载次数: 9)

打赏鼓励作者,期待更多好文!

打赏
暂无人打赏

发表新帖
热门标签
全部标签>
每日一问
技术盲盒
干货满满
技术笔记
标准化排查
新版本体验
产品连连看
技术晨报
GIF动图学习
安装部署配置
功能体验
技术咨询
信服课堂视频
玩转零信任
用户认证
自助服务平台操作指引
运维工具
2023技术争霸赛专题
答题自测
解决方案
VPN 对接
专家分享
社区帮助指南
通用技术
秒懂零信任
每周精选
畅聊IT
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
云计算知识
原创分享
sangfor周刊
项目案例
SANGFOR资讯
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
深信服技术支持平台
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播

本版版主

9
16
2

发帖

粉丝

关注

124
73
30

发帖

粉丝

关注

25
7
0

发帖

粉丝

关注

69
36
2

发帖

粉丝

关注

6
14
0

发帖

粉丝

关注

15
9
5

发帖

粉丝

关注

本版达人