Oracle中的序列 sequence 用法
来源:互联网 发布:淘宝卖家 转账20万 编辑:程序博客网 时间:2024/05/16 01:37
sybase 同埋sqlserver 系冇序列呢样野的。
但系oralce有。
oralce 序列简单d来讲类似于sybase的递增列的机制, 但是sybase 一张表只允许1个递增列, 而oracle没有这个限制,可以分别为一张表的若干个列指定不同的序列。
而且同1个序列可以由各个用户用在不同的表~
创建序列语法:
CREATE SEQUENCE sequence_name
[INCREMENT BY n] --递增的间隔,如果该句省略,默认是+1
[START WITH n] --起始的值,如果该句省略,默认是1
[{MAXVALUE n | NOMAXVALUE}] --最大值,极限是10的27次方
[{MINVALUE n | NOMINVALUE}] --最小值,极限是-10的26次方
[{CYCLE | NOCYCLE}] --到达最大或最小值后是否循环,默认是不循环
[{CACHE n | NOCACHE}]; --指定 Oracle 服务器预先分配多少值,并且保持在内存中(默认
情况下,Oracle 服务器缓冲 20 个值,如果序列值被高速缓冲,如果系统故障它们将被丢失.
例如创建1个列, 用于表Dep_1 的主键。
跟住可以用下满语句来查看这个序列的属性。
select * from user_sequences where lower(sequence_name) = 'dep_1_id_sq'
上图last_number 表示下1个可用序列号。
用这条语句来获得当前序列号码:
select dep_1_id_sq.currval from dual;
用这条语句来获得当前下一个号码:
select dep_1_id_sq.nextval from dual;
注:dep_1_id_sq.nextval 每被引用1次,例如上面的语句执行1此,序列号+1,也就是说上面语句每次返回的结果都比上一次加1。
使用序列:
如我要插入1条新数据到表dep_1, 可以用序列获得1个未被使用过的新key值。
insert into dep_1
select dep_1_id_sq.nextval,'ma',null from dual;
然后可以用
select dep_1_id_sq.currval from dual;
来或得这条数据的key值.
但系oralce有。
oralce 序列简单d来讲类似于sybase的递增列的机制, 但是sybase 一张表只允许1个递增列, 而oracle没有这个限制,可以分别为一张表的若干个列指定不同的序列。
而且同1个序列可以由各个用户用在不同的表~
创建序列语法:
CREATE SEQUENCE sequence_name
[INCREMENT BY n] --递增的间隔,如果该句省略,默认是+1
[START WITH n] --起始的值,如果该句省略,默认是1
[{MAXVALUE n | NOMAXVALUE}] --最大值,极限是10的27次方
[{MINVALUE n | NOMINVALUE}] --最小值,极限是-10的26次方
[{CYCLE | NOCYCLE}] --到达最大或最小值后是否循环,默认是不循环
[{CACHE n | NOCACHE}]; --指定 Oracle 服务器预先分配多少值,并且保持在内存中(默认
情况下,Oracle 服务器缓冲 20 个值,如果序列值被高速缓冲,如果系统故障它们将被丢失.
例如创建1个列, 用于表Dep_1 的主键。
Create sequence Dep_1_id_sq
increment by 1
start with 100
maxvalue 9999
跟住可以用下满语句来查看这个序列的属性。
select * from user_sequences where lower(sequence_name) = 'dep_1_id_sq'
上图last_number 表示下1个可用序列号。
用这条语句来获得当前序列号码:
select dep_1_id_sq.currval from dual;
用这条语句来获得当前下一个号码:
select dep_1_id_sq.nextval from dual;
注:dep_1_id_sq.nextval 每被引用1次,例如上面的语句执行1此,序列号+1,也就是说上面语句每次返回的结果都比上一次加1。
使用序列:
如我要插入1条新数据到表dep_1, 可以用序列获得1个未被使用过的新key值。
insert into dep_1
select dep_1_id_sq.nextval,'ma',null from dual;
然后可以用
select dep_1_id_sq.currval from dual;
来或得这条数据的key值.
- Oracle中的序列 sequence 用法
- oracle中的序列-sequence
- Oracle中序列sequence 用法
- Oracle中序列sequence 用法
- Oracle中的sequence用法
- Oracle中自动获取序列sequence用法
- Oracle中的序列sequence - 顺序生成seqid
- Oracle数据库中序列(SEQUENCE)的用法详解
- Oracle数据库中序列(SEQUENCE)的用法和实例需求
- ORACLE 序列 Sequence
- oracle-序列(SEQUENCE)-
- oracle-序列(SEQUENCE)
- Oracle创建序列 sequence
- oracle 导出 序列 sequence
- Oracle序列sequence
- oracle-序列(SEQUENCE)
- oracle 序列(sequence)
- oracle 序列 sequence
- [转]DML DDL DCL 语言的区别
- Oracle 一些常用的数据字典
- Oracle 用子查询创建表
- Orace 数据字典表前缀 解释。
- Oracel 修改约束命令
- Oracle中的序列 sequence 用法
- Oracle数据类型及存储方式——字符类型篇
- 转: Linux 下修改oracle 的字符集:WE8ISO8859P1 修改为 ZHS16GBK
- 转: Oracle 索引详解
- 翻译: Oralce官方文档-- Data Blocks, Extents, and Segments
- 转:Linux(ubuntu)下chrome字体模糊发虚解决方案
- Oracle簇表介绍 (clustered table)
- 转译:Oracle 中 Object_iD 和 Data_Object_ID 的区别
- [转]讲解安装Ubuntu nfs配置系统