重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

oracle如何更改序列,oracle怎么修改序列

如何使用Oracle序列

如何使用Oracle序列:

目前创新互联建站已为超过千家的企业提供了网站建设、域名、虚拟主机网站托管运营、企业网站设计、钟祥网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

Oracle序列(sequence)是一种数据库项,能够生成一个整数序列。通常用于填充数字类型的主键列。

1、创建序列:

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;(默认值)

CREATE SEQUENCE seq_test START WITH 1 INCREMENT BY 2;

2、使用序列:

SELECT seq_test.nextval FROM dual;

insert into order_status2 (id) values (seq_test.nextval);

3、修改序列:

ALTER SEQUENCE语句来修改序列。可以修改的内容:

不能修改序列的初值

序列的最小值不能大于当前值

序列的最大值不能小于当前值

例如:ALTER SEQUENCE seq_test INCREMENT BY 3;

4、删除序列:

DROP SEQUENCE seq_test;

oracle 怎么让序列重置成1

序列本身没办法直接归零,只能是删掉然后重建。删除序列要用到drop语句和建立的create语句都是ddl语句,在存储过程中是没办法应用的。个人建议写成一个sql脚本,然后在操作系统层面设定为每隔一年运行一次。

ORACLE序列的当前值可不可以修改

不可以直接修改的,但是可以间接修改。

alter sequence se_1 increment by -2;

修改步进的值,然后查询一次,

select seq.nextval from dual;

然后再把步进修改回去,

alter sequence se_1 increment by 1;

相当于修改了序列的当前值。

如何在PL/SQL中修改ORACLE的字段顺序

1.

先清除表中的数据(如:delete

from

user_info)

2.

删除序列(如:drop

sequence

sq_user)

3.

重新添加序列(如:create

sequence

sq_user)

4.

添加数据进行验证一下就好了

oracle批量修改序列方法

主键表 - T表 '100W'数据同步到T1表(同步:TRUNCATE/DELETE或IMPDP...等方式[手动改数据])

例如: T表对应SEQ_T.NEXTVAL= 100W;

T1表对应SEQ_T.NEXTVAL= 10W;

TRUNCATE TABLE T1;

INSERT TABLE T1 SELECT * FROM T;

数据同步但T1表对应SEQ_T.NEXTVAL= 10W序列不变;

此时T1调用序列INSERT到T1表时就会报错 ( ORA-00001 : 违反唯一约束条件 (LOTTERY.PK_T1))

(若批量同步很多表就可能会引起很多表序列需要更新成主键最大值+ 1才能保证不报错

(可以用把源库的SEQUENCE同步过来①或者如下存储解决② ))

oracle 怎样使UPDATE 更新序列??

可以使用update select 语法进行更新

喜欢研究的可以自行学习下,以便积累

不想浪费时间可以看下面:

UPDATE A SET ID = (SELECT ROWNUM FROM A ORDER BY 时间 DESC)

参考语法:

UPDATE A SET (A1, A2, A3) = (SELECT B1, B2, B3 FROM B WHERE A.ID = B.ID)

WHERE ID IN (SELECT B.ID FROM B WHERE A.ID = B.ID)


当前名称:oracle如何更改序列,oracle怎么修改序列
文章起源:http://cqcxhl.com/article/dssigpo.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP