Oracle对象课程:序列(Sequence)创建、使用、修改、删除,序列(Sequence)是用来生成连续的整数数据的对象。序列常常用来作为主键中增长列,序列中的可以升序生成,也可以降序生成。创建序列的语法是:

语法结构:创建序列

CREATE SEQUENCE sequence_name

[START WITH num]

[INCREMENT BY increment]

[MAXVALUE num|NOMAXVALUE]

[MINVALUE num|NOMINVALUE]

[CYCLE|NOCYCLE]

[CACHE num|NOCACHE]

语法解析:

① START WITH:从某一个整数开始,升序默认值是1,降序默认值是-1。

② INCREMENT BY:增长数。如果是正数则升序生成,如果是负数则降序生成。升序默认值是1,降序默认值是-1。

③ MAXVALUE:指最大值。

④ NOMAXVALUE:这是最大值的默认选项,升序的最大值是:1027,降序默认值是-1。

⑤ MINVALUE:指最小值。

⑥ NOMINVALUE:这是默认值选项,升序默认值是1,降序默认值是-1026。

⑦ CYCLE:表示如果升序达到最大值后,从最小值重新开始;如果是降序序列,达到最小值后,从最大值重新开始。

⑧ NOCYCLE:表示不重新开始,序列升序达到最大值、降序达到最小值后就报错。默认NOCYCLE。

⑨ CACHE:使用CACHE选项时,该序列会根据序列规则预生成一组序列号。保留在内存中,当使用下一个序列号时,可以更快的响应。当内存中的序列号用完时,系统再生成一组新的序列号,并保存在缓存中,这样可以提高生成序列号的效率。Oracle默认会生产20个序列号。

⑩ NOCACHE:不预先在内存中生成序列号。

案例2:创建一个从1开始,默认最大值,每次增长1的序列,要求NOCYCLE,缓存中有30个预先分配好的序列号。

代码演示:生成序列号

SQL>CREATE SEQUENCE MYSEQ2 MINVALUE 1

3 START WITH 1

4NOMAXVALUE5 INCREMENT BY 1

6NOCYCLE7 CACHE 30

8 /Sequence created

序列创建之后,可以通过序列对象的CURRVAL和NEXTVAL两个“伪列”分别访问该序列的当前值和下一个值。

代码演示:序列使用

SQL>SELECT MYSEQ.NEXTVAL FROM DUAL;

NEXTVAL----------

1SQL>SELECT MYSEQ.NEXTVAL FROM DUAL;

NEXTVAL----------

2SQL>SELECT MYSEQ.CURRVAL FROM DUAL;

CURRVAL----------

2

使用ALTER SEQUENCE可以修改序列,在修改序列时有如下限制:

1. 不能修改序列的初始值。

2. 最小值不能大于当前值。

3. 最大值不能小于当前值。

使用DROP SEQUENCE命令可以删除一个序列对象。

代码演示:序列修改和删除

SQL>ALTER SEQUENCE MYSEQ2 MAXVALUE 10000

3 MINVALUE -300

4 /SEQUENCE ALTERED

SQL>DROP SEQUENCE MYSEQ;

SEQUENCE DROPPED

oracle删sequ_Oracle序列(Sequence)创建、使用、修改、删除相关推荐

  1. oracle 序列 清除,Oracle序列(Sequence)创建、使用、修改、删除

    Oracle序列(Sequence)创建.使用.修改.删除 一: 创建序列: 语法: CREATE SEQUENCE sequence_name [START WITH num] [INCREMENT ...

  2. Oracle数据库中序列(SEQUENCE)的用法详解

    http://database.51cto.com/art/201108/280742.htm 在Oracle数据库中,什么是序列呢?它的用途是什么?序列(SEQUENCE)其实是序列号生成器,可以为 ...

  3. oracle删sequ_oracle删除指定用户下的表与Sequence | 学步园

    -- 以用户SMTJ2012为例 -- 删除所有表 declare owner_name varchar(20); cursor cur1 is select table_name from dba_ ...

  4. Oracle中的序列 sequence 用法

    sybase 同埋sqlserver 系冇序列呢样野的. 但系oralce有. oralce 序列简单d来讲类似于sybase的递增列的机制, 但是sybase 一张表只允许1个递增列, 而oracl ...

  5. Oracle学习:表的创建、修改、重命名、删除、闪回

    一.表的创建 通过已有表创建表(保留其中的数据.不保留其中的数据,保留部分数据) (1)创建前提条件: 表空间的使用权限 create table 的权限 (2)表名的注意事项: 以字母开头 长度不能 ...

  6. Oracle的新建序列sequence

    新建sequence序列, 运用场景:生成流水ID. 新建序列如下: max value:生成序列的最大值 cache size:一般是0,如果缓存较大时,根据需求添加size. cycle:循环

  7. oracle 删掉虚拟目录,创建虚拟目录失败,必须为服务器名称指定“localhost”

    Autofac 依赖注入 介绍 Autofac是一款IOC框架,很轻量级性能非常高,自动注入很给力. NuGet Autofac:Autofac控制反转容器核心 Autofac.MVC5:提供IDep ...

  8. MySQL创建/查看/修改/删除数据库

    一.创建: 实例1:最简单的创建 MySQL 数据库的语句 mysql> CREATE DATABASE test_db; Query OK, 1 row affected (0.12 sec) ...

  9. Oracle触发器(当A表新增/修改/删除时,同步数据到B表)

    一张班级表class有以下字段 id.class_id.class_name 一张学生表student有以下字段 id.student_name.class_id 班级表与学生表的关系是一对多 一个班 ...

  10. Oracle sql创建序列sequence

    知道的创建表序列的用途是当建立表的时候,Oracle不像Mysql一样会有自动主键增长AUTO_INCREMENT,所有如果需要主键自动增长的效果,Oracle提供了序列sequence方式. 创建序 ...

最新文章

  1. python-实现单链表
  2. POJ 3687 Labeling Balls【拓扑排序】
  3. K8s 集群节点在线率达到 99.9% 以上,扩容效率提升 50%,我们做了这 3 个深度改造
  4. linux中/etc/passwd文件与/etc/shadow文件解析
  5. 在家怎么看公司服务器上的文件,怎么查看云服务器上的文件
  6. 基于Adaboost的音乐情绪分类算法
  7. MITRE 发布“2021年最重要的硬件弱点”榜单
  8. 前端接收pdf文件_原生ajax请求获取pdf文件流本地下载(支持谷歌IE)
  9. linux的RPM支持图片格式,Linux下rpm、yum和源码三种安装方式详细介绍
  10. [下载]Internet Explorer 9 预览版
  11. ftp服务器vsftpd配置文件,vsftpd配置文件详解及ftp服务器搭建
  12. linux下如何给home目录分配空间,Linux 分配/home的磁盘空间给根目录
  13. 【软考-软件设计师精华知识点笔记】第三章 数据结构
  14. 原研哉:设计是什么?
  15. elementui树形组件默认点击第一个字节点
  16. linux编译ipp多线程,Linux 下 Intel IPP 模块编译
  17. PXE系列之一:PXE环境搭建
  18. Linux语言和字体的自定义设置
  19. 不要瞎折腾,几张思维导图就讲清搜索引擎优化(SEO)核心点
  20. Python语言程序设计 第一周习题

热门文章

  1. 2.mongoDB 命令
  2. 2.程序员的自我修养---编译和链接
  3. 16. go get
  4. 67. 可伸缩的 Comet
  5. 7.2.Zeng_Cache(3) --- 前端
  6. 15. CSS 表格
  7. 10. CSS 文本
  8. 9. CSS 背景属性
  9. 19. Window focus() 方法
  10. Bootstraphead里的内容