Oracle的序列
Oracle的序列
序列介绍
序列是Oracle提供的用于产生一系列唯一数字的数据库对象。
使用序列能够实现自己主动产生主键值。序列也能够在很多用户并发环境中使用。为所实用户生成不反复的顺序数字,并且不须要不论什么额外的I/O开销。
与视图一样。序列并不占用实际的存储空间,仅仅是在数据字典中保存它的定义信息。用户要在自己的模式中创建序列。必须具有CREATE SEQUECNCE系统权限,假设要在其它模式中创建序列,则必须具有CREATE ANY SEQUENCE系统权限。
创建序列的语法例如以下:
CREATE SEQUENCE sequence_name
[START WITH start]
[INCREMENT BY increment]
[MINVALUE minvalue | NOMINVALUE]
[MAXVALUE maxvalue | NOMAXVALUE]
[CACHE cache | NOCACHE]
[CYCLE | NOCYCLE]
[ORDER | NOORDER]
创建序列
首先。以SYSDBA角色登录。赋予用户创建序列权限:
GRANT CREATE ANY SEQUENCE TO siege
然后创建序列:
CREATE SEQUENCE stu_seq
START WITH 1
INCREMENT BY 1
NOMAXVALUE
NOCYCLE;
管理序列
使用序列,须要使用序列的两个伪劣NEXTVAL和CURRVAL。改动序列使用ALTER SEQUENCE语句,除了序列的起始值之外。能够又一次定义序列的不论什么子句和參数进行改动。
假设要改动序列的起始值,则必须先删除序列,然后再又一次创建该序列。对序列进行改动后,在缓存中的序列值将所有丢失,能够通过数据字典USER_SEQUENCE获取序列的信息。
查看序列信息
SELECT * FROM user_sequences WHERE sequence_name='STU_SEQ'
结果例如以下:
SEQUENCE_NAME MIN_VALUE MAX_VALUE INCREMENT_BY CYCLE_FLAG ORDER_FLAG CACHE_SIZE LAST_NUMBER
STU_SEQ 1 1E28 1 N N 20 1
改动序列
ALTER SEQUENCE stu_seq
MAXVALUE 9999
CACHE 9
CYCLE
ORDER;
若要改动起始值,则仅仅能删除序列然后又一次创建。
Oracle的序列的更多相关文章
- MySQL实现类似Oracle的序列
MySQL实现类似Oracle的序列 2013-10-22 10:33:35 我来说两句 作者:走过的足迹 收藏 我要投稿 MySQL实现类似Oracle的序列 Oracl ...
- oracle导出序列的几种办法
oracle导出序列的几种办法 注:本文来源于<oracle导出序列的几种办法> 方法一: select 'create sequence ' ||sequence_name|| ' mi ...
- Oracle中序列的操作以及使用前对序列的初始化
Oracle中序列的操作以及使用前对序列的初始化 一 创建序列 create sequence myseq start with 1 increment by 1 nomaxvalue minva ...
- Oracle创建序列,Oracle创建序列语法
-- Oracle创建序列 Create sequence CREATE SEQUENCE SEQ_SINGER -- 序列名称 START WITH 2 -- 开始数字 MAXVALUE 999 ...
- oracle 重置序列从指定数字开始的方法详解
原文 oracle 重置序列从指定数字开始的方法详解 重置oracle序列从指定数字开始 declare n ); v_startnum ):;--从多少开始 v_step ):;--步进 tsql ...
- 【转】Oracle重置序列(不删除重建方式)
Oracle中一般将自增sequence重置为初始1时,都是删除再重建,这种方式有很多弊端,依赖它的函数和存储过程将失效,需要重新编译.不过还有种巧妙的方式,不用删除,利用步长参数,先查出sequen ...
- Oracle(创建序列)
概念: 所谓序列,在oracle中就是一个对象,这个对象用来提供一个有序的数据列,这个有序的数据列的值都不重复. 1.序列可以自动生成唯一值 2.是一个可以被共享的对象 3.典型的用来生成主键值的一个 ...
- oracle修改序列
Oracle 序列(Sequence)主要用于生成流水号,在应用中经常会用到,特别是作为ID值,拿来做表主键使用较多. 但是,有时需要修改序列初始值(START WITH)时,有同仁使用这个语句来 ...
- [oracle] ORA-08002:序列XXXXXXX.CURRVAL尚未在此进程中定义
出现 ORA-08002: 序列XXXXXXX.CURRVAL 尚未在此进程中定义. 导致原因:因为是首次查询序列的当前值,内存中之前并没有缓存序列的任何值,所以需要先查询 一下序列的下一个值(此时, ...
随机推荐
- 一个i++和++i导致的严重的错误
当我曾经在写一个strlen的实现时,用递归写出了如下的代码: int strlen(const char *s) { if(*s=='\0') ; else ; } 程序一运行就崩溃了,why!都是 ...
- Ubuntu实现双网卡双IP双待机
Ubuntu实现双网卡双IP双待机 待机是借用了手机中的说法,其实是电脑上有两个网卡,一个无线,一个有线的.要实现无线访问外网Google Baidu查资料,有线网卡直接连接开发板.在Ubuntu上配 ...
- hdoj Pipe&&南阳oj管道问题&&poj1039(计算几何问题...枚举)
Pipe Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- Android Testing(1) 浅尝Android测试的奥秘
------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 仅供学习和交流使用,翻译不好勿喷,请只摘除不合适的地方 Testing The Android fram ...
- 使用jquery 1.7 及以后的版本 attr 问题
跟进jquery的代码进行检查,发现问题出在下面的代码中: if ( notxml ) { name = name.toLowerCase(); hooks = jQuery.attrHooks[ n ...
- Hadoop Error:Name node is in safe mode的解决方法
Error:name node is in safe mode 解决方法:hadoop dfsadmin -safemode leave(见图)
- ZOJ 3778 Talented Chef 模拟 [ 祝愿明天省赛一帆风顺, ZJSU_Bloom WILL WIN : )
这题的意思是给你 n 道菜,第 i 道菜需要 Ai 步才能完成 每次你能对 m 道菜分别完成一步,请问最少需要几次? 这题暴力写肯定是不行的,去年省赛的时候就是没写出来这题,今天再把思路理一理吧. 首 ...
- 北京创客空间 BEIJING MAXPACE的小站
北京创客空间 BEIJING MAXPACE的小站 北京市海淀区海淀大街1号中关村梦想实验室(原中关村国际数字设计中心)4层
- 多线程之线程通信条件Condition
Condition是Locks锁下的还有一种线程通信之间唤醒.堵塞的实现.它以下的await,和signal可以实现Object下的wait,notify和notifyAll的所有功能,除此之外改监视 ...
- PHP - 防止 XSS(跨站脚本攻击)
<?PHP /** * @blog http://www.phpddt.com * @param $string * @param $low 安全别级低 */ function clean_xs ...