序列:可供多个用户来产生唯一数值的数据库对象
可以认为和mysql中的auto_increment功能类似
注意

CURRVAL: 返回序列的当前值。
NEXTVAL: 序列递增,返回下一值。

你不能使用序列的CURRVAL和NEXTVAL,在下面情况下(具体参见官方文档):
1:在DELETE、SELECT、UPDATE的子查询中
2:在视图或物化事物的查询中。
3:SELECT查询中使用了DISTINCT操作符。

4:SELECT查询中有GROUP BY或ORDER BY

在经过删除回滚等操作之后,序列之间会产生断裂,删除某个序列不会对之前的数据产生影响
 1 1,创建,修改序列,语法规则
 2 CREATE SEQUENCE [user.]sequence_name
 3 [increment by n]
 4 [start with n]
 5 [maxvalue n | nomaxvalue]
 6 [minvalue n | nominvalue];
 7 INCREMENT BY: 指定序列号之间的间隔,该值可为正的或负的整数,但不可为0。序列为升序。忽略该子句时,缺省值为1。
 8 START WITH:指定生成的第一个序列号。在升序时,序列可从比最小值大的值开始,缺省值为序列的最小值。对于降序,序列可由比最大值小的值开始,缺省值为序列的最大值。
 9 MAXVALUE:指定序列可生成的最大值。
10 NOMAXVALUE:为升序指定最大值为1027,为降序指定最大值为-1。
11 MINVALUE:指定序列的最小值。
12 NOMINVALUE:为升序指定最小值为1。为降序指定最小值为-1026。

 1 当前序列的第一个指针指向的是第一个序号前,则next指向第一个序号,此时currval没有指向序号
 2 SQL> select myseq.nextval from dual;
 3    NEXTVAL
 4 ----------
 5          1
 6 SQL> select myseq.currval from dual;
 7 select myseq.currval from dual
 8        *
 9 第 1 行出现错误:
10 ORA-08002: 序列 MYSEQ.CURRVAL 尚未在此会话中定义
11
12
13  2,创建序列
14
15 - create sequence seq_tank
16 - increment by 1
17 - start with 1
18 - minvalue 1
19 - maxvalue 99999
20 - nocycle
21 - cache 10
22
23 3,修改序列
24
25 - alter sequence seq_tank
26 - increment by 10
27 - maxvalue 1000
28 - cycle
29 - nocache
30
31 4,查看序列
32
33 - SQL> select * from user_sequences;
34
35 5,删除序列
36
37 - SQL> drop SEQUENCE seq_tank;
38
39 6,查看序列值
40
41 - SQL> select seq_test.nextval from dual;
42 -
43 - NEXTVAL
44 - ----------
45 - 1

转载于:https://www.cnblogs.com/anzhi/p/7515830.html

Oracle对象之序列相关推荐

  1. ORACLE对象-高级(视图、序列、索引)

    ORACLE对象-高级 一.视图 (一)什么是视图 视图和表的区别: 视图是实体表的映射,视图和实体表区别就是于视图中没有真实的数据存在. 视图中存储的是SQL语句 什么时候使用视图: 1.为了安全, ...

  2. 7、oracle下的序列

    ORACLE下的序列 序列是一种数据库对象,用于生成一系列的整数,可以用来唯一的标记一条记录,在mysql种有字段自增的概念,但是oracle种是没有字段自增的,所以可以使用序列来作为主键的自动生成方 ...

  3. oracle序列的描述,Oracle同义词和序列的基本使用方法

    Oracle同义词通俗的讲就是某个对象的替代名称,其主要的作用就是利用相关的同义词方便的操纵各种不同用户模式下的相关对象.我们通过select user from dual来对当前使用的用户进行查看. ...

  4. Oracle中的序列,同义词

    Oracle中的序列,同义词 2006年08月18日 星期五 下午 01:51 什么叫序列:     1:定义:         仅向前的数字变量(和SQL中的自动编号有点像 identity(1,2 ...

  5. oracle查看表空间的序号,Oracle查询所有序列

    --查看当前用户的所有序列 select SEQUENCE_OWNER,SEQUENCE_NAME from dba_sequences where sequence_owner='用户名'; --查 ...

  6. oracle sql语句序列,Oracle SQL之 序列使用限制

    Restrictions on Sequence Values You cannot use CURRVAL and NEXTVAL in the following constructs: ■ A ...

  7. oracle对象权限回收,【Privilege】Oracle对象权限级联收回现象测试

    Oracle权限分为系统权限和对象权限.在文章<[Privilege]Oracle系统权限非级联收回现象测试>(http://space.itpub.net/519536/viewspac ...

  8. oracle两表链接序列跳序,Oracle学习之 序列(Sequence)

    Oracle学习之 序列(Sequence) [Oracle学习]之 序列(Sequence) oracle文档:https://docs.oracle.com/cd/B28359_01/server ...

  9. oracle导出对象和数据,浅析Oracle对象和数据的导入导出

    对于Oracle对象和数据的导入导出,我们会用到一些小工具.以前我们一般都是使用PL/SQL Developer来实现,但是PL/SQL Developer在导出.导入数据时有两个问题: 1.要把表数 ...

最新文章

  1. 从该函数中确定函数名称(不使用回溯)
  2. Python 常用 PEP8 编码规范和建议
  3. PyTorch环境下对BERT进行Fine-tuning
  4. 属于web框架的python库_(2017)我不建议使用的Python Web框架
  5. 8篇SCI,总影响因子46.464!这位博士,毕业后带着女友一起援疆!
  6. java 不能同时修改一条记录_【免费毕设】JAVA+SQL离散数学题库管理系统(源代码+论文+外文翻译)...
  7. CTO@全体成员,未经允许和评审不让用反射,Java反射到底慢在哪?
  8. 深入浅出BP神经网络算法的原理
  9. 在尘世间做最好的自己
  10. 4-3 Vue的`:style`用法
  11. 思维题:一个岛上有100个人,95个蓝眼睛,5个红眼睛
  12. 野生程序员的折腾— 从包工头到程序猿(一)
  13. ArcGIS for IOS 添加多个覆盖物,并设置点击覆盖物触发委托
  14. 2022年起重机械指挥考试题及模拟考试
  15. 软件测试实战教程系列—接口测试用例和报告模板|收藏版
  16. Yolov5+图像分割+百度AI接口——车牌实时检测识别系统
  17. 读书笔记_图解HTTP
  18. matlab中角度调制实验报告,频率调制解调的时域分析及在MATLAB7中的实验仿真
  19. Geojson文件转为shp
  20. 详解:如何让优酷、土豆、56、mofile视频自动播放

热门文章

  1. 蓝马linux命令连另一台电脑,配置使用别的电脑连接另一台电脑当中的虚拟机项目...
  2. java安装库源文件_JOGL安装
  3. shellcode 编码技术
  4. JFoenix: JavaFX与Google Material Design
  5. nodejs开发游戏服务器遇到的性能问题
  6. struts 中的创建Action的三种方法
  7. Ribbon_窗体_实现Ribbon风格的窗体
  8. 遨游金山网盾?蹦出来有啥用?
  9. 各个国家的市场分析(摩洛哥,德国)
  10. 用户体验至上:40亿美金的ClickUp重新整合生产力工具