Oracle数据库Sequence创建与使用
来源:互联网 发布:诸葛网络和饼哥 编辑:程序博客网 时间:2024/06/04 18:01
在Oracle中sequence就是序号,每次提取完都会自动增加,步幅固定,它与表没有直接关系!
首先查询当前数据库中的sequence
查询当前用户的:select
*
from
user_sequences
查询所有用户的:select
*
from
all_sequences
开始创建sequence:
创建sequence语句:
CREATE SEQUENCE seq_name-- seq_name为计数器的名字,自定;
INCREMENT BY 1 -- 每次加幅度:1,2,3,....;
START WITH 1 -- 起始序号,以实际生产情况而定;
NOMAXvalue -- 不设置最大值,或设定最大值: maxvalue 9999;
NOCYCLE -- 一直累加,不循环; 或循环使用 cycle ;
CACHE 10 --设置缓存序列个数,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为---------NOCACHE
修改sequence:
Alter sequence 可以修改sequence(除起始值)步幅、最大/最小值、是否循环、缓存个数 这些参数;
例:Alter Sequence seq_name
Increment By 2
Maxvalue 9999
使用sequence:
sequence创建完成后,就可以使用sequence的两个参数 currval、nextval;
currval查询sequence的当前值:select seq_name.currval from dual;
next
val查询sequence下一个值:select seq_name.nextval from dual;
删除sequence:
drop sequence seq_name;
注:
1、currval是取当前值,所以一个新的计数器sequence必须先使用nextval后才可以使用currval否则会报错;
2、nextval是取下一个值,但第一次使用时取的是初始值,之后正常取下一个,且如果一个语句(不同的子句)里面有多个nextval,它们的取值可能是不同的;
3、如果指定CACHE值,ORACLE就可以预先在内存里面放置一些sequence,cache里面的取完后,oracle自动再取一组到cache。 。
优点:存取的快些,尤其是并发访问时。
缺点:使用cache或许会跳号, 比如数据库突然不正常down掉(shutdown abort),cache中的sequence就会丢失. 所以可以在创建的时候用nocache防止这种情况
- Oracle数据库Sequence创建与使用
- Oracle Sequence创建与使用
- Oracle:序列 SEQUENCE 创建语法与使用
- Oracle创建Oracle数据库序列sequence
- Oracle序列(Sequence)创建、使用、修改、删除
- Oracle序列(Sequence)创建、使用、修改、删除
- Oracle序列(Sequence)创建、使用、修改、删除
- Oracle序列(Sequence)创建、使用、修改、删除
- Oracle创建序列 sequence
- oracle中创建sequence
- oracle创建sequence
- [Oracle]创建序列sequence
- Oracle创建SEQUENCE
- ORACLE SEQUENCE oracle创建sequence(转载)
- oracle 创建sequence创建database_link
- 使用DBCA创建Oracle数据库
- 使用DBCA创建Oracle数据库
- 使用ORACLE DBCA创建数据库
- 领帽子
- 采用opencv_cascadetrain进行训练的步骤及注意事项
- numpy 删除元素
- Oracle--用变量保存查询出来的值
- 快速集成Mob短信验证(附源码)
- Oracle数据库Sequence创建与使用
- Mac OSX下使用apt-get命令
- Hibernate开发实践笔记--对象在set属性时更新了数据库问题
- 在普林斯顿大学做助理教授的日子
- DB2数据库日志
- Linux字符串截取,八种方法
- jQuery Mobile 面板
- 常用颜色值
- javaweb项目获取项目发布路径