oracle序列
2015-08-18 10:06
337 查看
–可以使用create sequence语句创建序列
–sequence_name:序列的名称
–start_num:序列开始的第一个整数,默认从1开始
–increment_num:每次增长的数值
–maximum_num:序列能够增长到的最大值
–NOMAXVALUE:对于序列最大值,不指定最大值,对于升序最大值是1027,对于降序是-1
–minimum_num:序列中的最小值,该值必须比start_num小,比maximum_num也要小
–NOMINVALUE:对于序列最小值,不指定最小值,对于升序最小值是1,对于降序最小值是-1026
–CYCLE:对于序列的值达到最大值或最小值时的处理方法。如果是升序达到最大值了,那么下一个生成的值将是最小值;如果是降序达到最小值时,那么下一个值将是最大值。
–NOCYCLE:当序列的值达到最大或最小值时,序列将不再产生任何数值。默认是NOCYCLE。
–cache_num:保存在内存中缓存整数的数量,默认缓存的数量是20,最小的缓存数是2,最大的缓存数是CEIL(maximum_num -minimum_num)/ABS(increment_num)
–NOCACHE:表示没有缓存数字
–ORDER:保证整数的请求顺序是按照生成顺序得到的。
–NOORDER:不保证整数的请求顺序是按照生成顺序得到的
——-使用默认选项创建序列———-
create sequence xulie1;
insert into employee values(xulie1.nextval,’chang’,’女’,to_date(‘2015-8-18’,’yyyy-mm-dd’),’市场部’,2)
–创建序列忽略了其他选项,那么将会使用默认值。
–start_num和increment_num都是1
——-指定相关选项创建序列———-
create sequence xulie2
start with 4 –序列开始的第一个整数,默认从1开始
increment by 1 –每次增长的数值
minvalue 1 – 序列能够增长到的最小值
maxvalue 10 – 序列能够增长到的最大值
cycle
cache 2
order;
//可以使用xulie2.nextval代替主键id、使主键自增长
insert into employee values(xulie2.nextval,’zhu’,’女’,to_date(‘2015-8-18’,’yyyy-mm-dd’),’市场部’,2)
————-创建序列之后,序列可以产生一系列的数值。可以通过currval和nextval来访问它们来获取当前值和下一个值。——
select xulie2.nextval from employee
select xulie2.currval from employee
—————–修改序列———–
—修改序列可以使用ALTER SEQUENCE语句进行修改。修改有一些限制如下:
—初始值不能修改
–序列的最小值不能大于当前序列的值
–序列的最大值不能小于当前序列的值
–例如
alter sequence xulie2
increment by 2;
select xulie2.nextval from employee
select xulie2.currval from employee
——删除序列使用DROP SEQUENCE语句–
drop sequence xulie1
select xulie1.currval from employee
–sequence_name:序列的名称
–start_num:序列开始的第一个整数,默认从1开始
–increment_num:每次增长的数值
–maximum_num:序列能够增长到的最大值
–NOMAXVALUE:对于序列最大值,不指定最大值,对于升序最大值是1027,对于降序是-1
–minimum_num:序列中的最小值,该值必须比start_num小,比maximum_num也要小
–NOMINVALUE:对于序列最小值,不指定最小值,对于升序最小值是1,对于降序最小值是-1026
–CYCLE:对于序列的值达到最大值或最小值时的处理方法。如果是升序达到最大值了,那么下一个生成的值将是最小值;如果是降序达到最小值时,那么下一个值将是最大值。
–NOCYCLE:当序列的值达到最大或最小值时,序列将不再产生任何数值。默认是NOCYCLE。
–cache_num:保存在内存中缓存整数的数量,默认缓存的数量是20,最小的缓存数是2,最大的缓存数是CEIL(maximum_num -minimum_num)/ABS(increment_num)
–NOCACHE:表示没有缓存数字
–ORDER:保证整数的请求顺序是按照生成顺序得到的。
–NOORDER:不保证整数的请求顺序是按照生成顺序得到的
——-使用默认选项创建序列———-
create sequence xulie1;
insert into employee values(xulie1.nextval,’chang’,’女’,to_date(‘2015-8-18’,’yyyy-mm-dd’),’市场部’,2)
–创建序列忽略了其他选项,那么将会使用默认值。
–start_num和increment_num都是1
——-指定相关选项创建序列———-
create sequence xulie2
start with 4 –序列开始的第一个整数,默认从1开始
increment by 1 –每次增长的数值
minvalue 1 – 序列能够增长到的最小值
maxvalue 10 – 序列能够增长到的最大值
cycle
cache 2
order;
//可以使用xulie2.nextval代替主键id、使主键自增长
insert into employee values(xulie2.nextval,’zhu’,’女’,to_date(‘2015-8-18’,’yyyy-mm-dd’),’市场部’,2)
————-创建序列之后,序列可以产生一系列的数值。可以通过currval和nextval来访问它们来获取当前值和下一个值。——
select xulie2.nextval from employee
select xulie2.currval from employee
—————–修改序列———–
—修改序列可以使用ALTER SEQUENCE语句进行修改。修改有一些限制如下:
—初始值不能修改
–序列的最小值不能大于当前序列的值
–序列的最大值不能小于当前序列的值
–例如
alter sequence xulie2
increment by 2;
select xulie2.nextval from employee
select xulie2.currval from employee
——删除序列使用DROP SEQUENCE语句–
drop sequence xulie1
select xulie1.currval from employee
相关文章推荐
- Oracle数据对象--序列
- Oracle 建立序列以及触发器的建立
- oracle 序列的概念与使用步骤
- MyBatis的几种应用场景
- Oracle序列
- oracle创建序列小例子
- Oracle序列
- Mybatis批量新增,修改
- Oracle 序列 视图 索引 同义词
- Oracle Database 12c新特性 In-Database Archiving数据库内归档
- oracle wm_concat函数,用于列转行,逗号分隔
- win7 64 位下Navicat11.1.8 (64位) for oracle11g r2 提示 cannot load OCI DLL,126 193的解决方法
- oracle用触发器实现插入记录序列自增长(也可以指定记录序号)
- Win764位操作系统Oracle的问题
- oracle拆分逗号分隔字符串 实现split
- SQL Server 与 Oracle数据类型映射
- db2 如何 将 oracle CONNECT BY 移植到 DB2
- WebServers发布提示oracle客户端模式不一致
- Oracle Coherence中文教程二十:预加载缓存
- Oracle Coherence中文教程十九:使用便携式对象格式