oracle中创建序列以及实际应用
2017-08-16 15:16
423 查看
1.oracle是通过序列(sequence)来处理自动增长列
用法:
create sequense my_seq //创建序列名:my_seq
start with 1 //从1开始
increment by 1 //每次增长1
maxvalue 999999 //nomaxvalue(不设置最大值) ---最大值
minvalue 1 //最小值
cycle //nocycle 一直累加,不循环 ;cycle 表示循环
nocache ---缓存
//cache 10 表示一次产生10个号,
//但是使用缓存产生号,优点是提高效率,缺点是可能产生跳号
//上面表示从1开始,每次增长1,最大值为999999,之后又循环开始
CREATE
SEQUENCE CG_SEQ
START WITH 2
INCREMENT BY 2
MINVALUE 1
MAXVALUE 999999999999999999999999999
CACHE 20
NOORDER
NOCYCLE ;
---创建表
create table test(id number primary key ,name varchar2(32));
insert into test values(CG_SEQ .nextval,'abc');
insert into test values(CG_SEQ .nextval,'bdc');
(1)可以为表中的列自动产生值
(2)由用户创建数据库对象,并可由多个用户共享
比如:system用户使用scott创建的序列,从什么开始增长?
答:接着scott里面的增长
(3)一般用于主键或唯一列
2.序列细节说明:
一旦定义了某个序列,可以使用currval,nextval
currval:返回sequence的当前值
nextval:返回增加sequence的值,然后返回sequence的值
比如:
序列名.currval:select 方案名.序列名.currval from dual;//用于查看当前序列是多少
序列名.nextval:select 方案名.序列名.nextval from dual;//用于查看当前序列的下一个值是多少
select cg_seq.nextval from dual
select cg_seq.currval from dual
用法:
create sequense my_seq //创建序列名:my_seq
start with 1 //从1开始
increment by 1 //每次增长1
maxvalue 999999 //nomaxvalue(不设置最大值) ---最大值
minvalue 1 //最小值
cycle //nocycle 一直累加,不循环 ;cycle 表示循环
nocache ---缓存
//cache 10 表示一次产生10个号,
//但是使用缓存产生号,优点是提高效率,缺点是可能产生跳号
//上面表示从1开始,每次增长1,最大值为999999,之后又循环开始
CREATE
SEQUENCE CG_SEQ
START WITH 2
INCREMENT BY 2
MINVALUE 1
MAXVALUE 999999999999999999999999999
CACHE 20
NOORDER
NOCYCLE ;
---创建表
create table test(id number primary key ,name varchar2(32));
insert into test values(CG_SEQ .nextval,'abc');
insert into test values(CG_SEQ .nextval,'bdc');
(1)可以为表中的列自动产生值
(2)由用户创建数据库对象,并可由多个用户共享
比如:system用户使用scott创建的序列,从什么开始增长?
答:接着scott里面的增长
(3)一般用于主键或唯一列
2.序列细节说明:
一旦定义了某个序列,可以使用currval,nextval
currval:返回sequence的当前值
nextval:返回增加sequence的值,然后返回sequence的值
比如:
序列名.currval:select 方案名.序列名.currval from dual;//用于查看当前序列是多少
序列名.nextval:select 方案名.序列名.nextval from dual;//用于查看当前序列的下一个值是多少
select cg_seq.nextval from dual
select cg_seq.currval from dual
相关文章推荐
- oracle中创建序列以及实际应用
- oracle中创建序列以及序列使用注意事项
- oracle中创建序列以及序列使用注意事项
- oracle创建序列以及时间戳的使用
- 加密、解密、openssl的基本应用以及自己创建CA
- Oracle创建带有自增序列的表和字符串转日期的问题
- Oracle管理员创建用户,表,以及插入查询语句
- Oracle创建表空间、创建用户以及授权、查看权限
- oracle 视图、序列以及同义词
- Oracle在linux中创建表空间、用户以及权限
- Oracle创建表、约束、视图、索引、序列、同义词、表空间
- Oracle 使用序列创建自增字段
- lsof 应用实例分享以及Oracle 数据文件删除恢复测试
- oracle 创建表空间、表、主键、外键、序列
- 关于oracle with table as 创建临时表的用法示例以及使用with as 的优点
- VA01创建SO的增强点MV45AFZZ的几点实际应用总结
- 自己封装的一个iphone上的缓存,支持内存缓存以及磁盘缓存,实际项目已经应用。
- WebProject应用创建(以及虚拟映射)及编写servlet应用程序
- Oracle实战_Oracle创建表空间、创建用户以及授权、查看权限
- Oracle中主键、外键、索引、序列、唯一性约束的创建