在oracle中sequence就是所谓的序列号,每次取的时候它会自己主动添加,一般用在须要按序列号排序的地方。 
1、Create Sequence 
你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限, 
CREATE SEQUENCE emp_sequence 
    INCREMENT BY 1  -- 每次加几个 
    START WITH 1    -- 从1開始计数 
    NOMAXVALUE      -- 不设置最大值 
    NOCYCLE         -- 一直累加,不循环 
    CACHE 10;

一旦定义了emp_sequence,你就能够用CURRVAL,NEXTVAL 
 CURRVAL=返回 sequence的当前值 
 NEXTVAL=添加sequence的值,然后返回 sequence 值 
比方: 
  emp_sequence.CURRVAL 
  emp_sequence.NEXTVAL

能够使用sequence的地方: 
- 不包括子查询、snapshot、VIEW的 SELECT 语句 
- INSERT语句的子查询中 
- NSERT语句的VALUES中 
- UPDATE 的 SET中

能够看例如以下样例: 
INSERT INTO emp VALUES  
(empseq.nextval, 'LEWIS', 'CLERK',7902, SYSDATE, 1200, NULL, 20);

SELECT empseq.currval     FROM DUAL;

可是要注意的是: 
- 第一次NEXTVAL返回的是初始值;随后的NEXTVAL会自己主动添加你定义的INCREMENT BY值,然后返回添加后的值。CURRVAL 总是返回当前SEQUENCE的值,可是在第一次NEXTVAL初始化之后才干使用CURRVAL,否则会出错。一次NEXTVAL会添加一次SEQUENCE的值,所以假设你在同一个语句里面使用多个NEXTVAL,其值就是不一样的。明确?

- 假设指定CACHE值,ORACLE就能够预先在内存里面放置一些sequence,这样存取的快些。cache里面的取完后,oracle自己主动再取一组到cache。 使用cache也许会跳号, 比方数据库突然不正常down掉(shutdown abort),cache中的sequence就会丢失. 所以能够在create sequence的时候用nocache防止这样的情况。

2、Alter Sequence 
你或者是该sequence的owner,或者有ALTER ANY SEQUENCE 权限才干修改sequence. 能够alter除start至以外的全部sequence參数.假设想要改变start值,必须 drop  sequence 再 re-create . 
Alter sequence 的样例 
ALTER SEQUENCE emp_sequence 
    INCREMENT BY 10 
    MAXVALUE 10000 
    CYCLE    -- 到10000后从头開始 
    NOCACHE ;

影响Sequence的初始化參数: 
SEQUENCE_CACHE_ENTRIES =设置能同一时候被cache的sequence数目。

能够非常easy的Drop Sequence 
DROP SEQUENCE order_seq;

ORACLE SEQUENCE 介绍相关推荐

  1. oracle你如何重置序列号,oracle sequence语句重置方介绍

    在开发过程中,可能会用到oracle sequence语句,本文以oracle sequence语句如何重置进行介绍,需要的朋友可以参考下 Oracle重置sequence语句1 Sql代码 复制代码 ...

  2. oracle复制sequence,oracle sequence语句重置方介绍

    在开发过程中,可能会用到oracle sequence语句,本文以oracle sequence语句如何重置进行介绍,需要的朋友可以参考下 Oracle重置sequence语句1 Sql代码 DECL ...

  3. Oracle Sequence

    Sequence是数据库系统按照一定规则自动增加的数字序列.这个序列一般作为代理主键(因为不会重复),没有其他任何意义. Sequence是数据库系统的特性,有的数据库有Sequence,有的没有.比 ...

  4. oracle sequence 应用,oracle应用之使用sequence批量写数据

    本博客是对之前写的博客Oracle批量新增更新数据的补充,oracle的知识真是多,其实要学精任何一门知识都是要花大量时间的,正所谓: 学如逆水行舟,不进则退 先介绍oracle sequence的一 ...

  5. ORACLE sequence各参数及创建修改删除使用详解示例

    ORACLE没有自增数据类型,如需生成业务无关的主键列或惟一约束列,可以用sequence序列实现. CREATE SEQUENCE语句及参数介绍: 详见官方文档:http://docs.oracle ...

  6. 基于Oracle Sequence的流水号生成规则

    流水号在各种系统中随处可见,一般都是使用自增.年月日时分秒+自增.UUID等,要么纯数字,要么纯字母,这种流水号缺乏一定的辨识度. 下面为大家介绍一种具有辨识度的流水号的生成方式:领域或者应用的标识 ...

  7. sequence oracle mysql,oracle sequence转mysql(mysql实现oracle的sequence功能)

    最近项目上在做数据转移工作,需要把oracle转为mysql,在转换oracle储存过程中遇见这样一句sql,查的是序列号的下一个值 由于mysq只有递增列的概念没有oracle的sequence功能 ...

  8. oracle SEQUENCE 创建, 修改,删除

    oracle创建序列化: CREATE SEQUENCE seq_itv_collection             INCREMENT BY 1  -- 每次加几个               S ...

  9. 【转】oracle sequence

    原文链接  http://www.cnblogs.com/hyzhou/archive/2012/04/12/2444158.html ORACLE SEQUENCE用法 在oracle中sequen ...

最新文章

  1. 【Mac】解决「无法将 chromedriver 移动到 /usr/bin 目录下」问题
  2. GitLab成立中国合资公司极狐,强调“独立运营”
  3. 原核表达常见问题解答
  4. ASP.NET MVC3 Razor视图引擎-基础语法
  5. idea提示 cannot resolve symbol “println
  6. Apache Server和JMeter调试
  7. Qt之QThread用法
  8. 蒙了吗?offsetLeft、offsetWidth、scrollTop、scrollWidth、event.pageX
  9. java中fitlter,068.Python框架Django之DRF视图集使用
  10. 《HTML and CSS Design and Build Websites》学习笔记之HTML5表单新增功能
  11. 无线路由器CE认证是什么
  12. systrace简介
  13. 大学生HTML作业篮球网页 HTML作业篮球网页期末作业 HTML+CSS篮球网页 HTML学生作业体育篮球网页
  14. 【光纤传输特性】图文并茂,你该了解这些
  15. Python+Selenium程序执行完,chrome浏览器自动关闭解决方案
  16. Meltdown Reading Kernel Memory from User Space
  17. 哔哩哔哩2020校招原题 - 复数乘法
  18. 数据驾驶舱只是面子工程?它的真正作用你根本就不了解
  19. Vue 视频播放与暂停
  20. SpringMVC个人理解(downpour 的SpringMVC深度探险的个人整理)

热门文章

  1. shell脚本——字符串 数组
  2. 转载:T-SQL语句大全
  3. ThreadLocal小记
  4. Python标准库01 正则表达式(re包)
  5. Linux笔记:vim
  6. [恢]hdu 2524
  7. [转]DotNet for Symbian平台 (Nokia,Sony,Motorola等手机)
  8. 也许是被忽略的update语句
  9. OpenCV Mat 简介
  10. 2015人脸检测研究进展