一般用PLSQL导入或导出序列即可.
①.、用PLSQL登录oracle数据库.
如何使用Oracle序列:
Oracle序列(sequence)是一种数据库项,能够生成一个整数序列.通常用于填充数字类型的主键列.
①.、创建序列:
CREATE SEQUENCE sequence_name
[START WITH start_num]
[INCREMENT BY increment_num]
[{MAXVALUE maximum_num|NOMAXVALUE}]
[{MINVALUE minimum_num|NOMINVALUE}]
[{CYCLE|NOCYCLE}]
[{CACHE cache_num|NOCACHE}]
[{ORDER|NOORDER}]
其中:
start_num:序列开始整数
increment_num:每次增加的整数增量
maximum:序列最大整数
minimum:序列最小整数
CYCLE:循环生成
NOCYCLE:不循环生成,默认值
cache_num:保存在内存中的整数的个数
NOCACHE:不缓存任何整数
例如:
CREATE SEQUENCE seq_test;(默认值)
SELECT seq_test.nextval FROM dual;
ALTER SEQUENCE语句来修改序列.可以修改的内容:
不能修改序列的初值
序列的最小值不能大于当前值
序列的最大值不能小于当前值
DROP SEQUENCE seq_test;
在oracle中sequence就是序号,每次取的时候它会自动增加.sequence与表没有关系.
①.、Create Sequence
首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限.
创建语句如下:
CREATE?SEQUENCE?seqTest
INCREMENT?BY?1?--?每次加几个
START?WITH?1?--?从1开始计数
NOMAXvalue?--?不设置最大值
NOCYCLE?--?一直累加,不循环
CACHE?10;?--设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为---------NOCACHE
定义好sequence后,你就可以用currVal,nextVal取得值.
CurrVal:返回 sequence的当前值
NextVal:增加sequence的值,然后返回 增加后sequence值
得到值语句如下:
SELECT?Sequence名称.CurrVal?FROM?DUAL;
如得到上边创建Sequence值的语句为:
select?seqtest.currval?from?dual
在Sql语句中可以使用sequence的地方:
- 不包含子查询、snapshot、VIEW的 SELECT 语句
- INSERT语句的子查询中
- INSERT语句的values中
- UPDATE 的 SET中
如在插入语句中
insert?into?表名(id,name)values(seqtest.Nextval,'sequence?插入测试');
注:
第一次NEXTVAL返回的是初始值;随后的NEXTVAL会自动增加你定义的INCREMENT BY值,然后返回增加后的值.
CURRVAL 总是返回当前SEQUENCE的值,但是在第一次NEXTVAL初始化之后才能使CURRVAL,否则会出错.
你可以先申明一个变量然后将序列值插入到变量当中就可以了 例如
declare p_seq number;
begin
select SEQ_MID.NEXTVAL into p_seq from dual;
dbms_output.put_line( 'MSG'||p_seq);
end;
/
oracle表中创建序列语法:
CREATE SEQUENCE name
[INCREMENT BY n]
[START WITH n]? ? ? ? ? ?
[{MAXVALUE n | NOMAXVALUE}]
[{MINVALUE n | NOMINVALUE}]
[{CYCLE | NOCYCLE}]
[{CACHE n | NOCACHE}]
示例:
increment by n:表明值每次增长n(步长).
start with n: 从n开始.
{MAXVALUE n | NOMAXVALUE}: 设置最大值.
{MINVALUE n | NOMINVALUE}: 设置最小值,start with不能小于最小值.
CYCLE | NOCYCLE? ? ? ? ? : 是否循环,建议不使用
CACHE n | NOCACHE? ? : 是否启用缓存.
示例:
INSERT INTO emp VALUES
Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境.它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案.
ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能.
扩展资料:
sql server数据库里建序列:
alter table cust_info?add?sequence int
insert into cust_info (sequence)
select row_number() over(order?by?cust_id) as cust_id_seq from cust_info
select 序列名.Nextval from dual;--生成并获得下一个序列
select 序列名.CURRVAL from dual;--如果与上述语句为同一会话,可以通过此句获得上面生成的序列.
以上就是土嘎嘎小编为大家整理的oracle如何获得序列相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!