欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

oracle的序列怎么改,oracle怎么改字段名

oracle批量修改序列方法

主鍵表 - T表 '100W'數(shù)據(jù)同步到T1表(同步:TRUNCATE/DELETE或IMPDP...等方式[手動(dòng)改數(shù)據(jù)])

創(chuàng)新互聯(lián)成立于2013年,公司以網(wǎng)站建設(shè)、做網(wǎng)站、系統(tǒng)開(kāi)發(fā)、網(wǎng)絡(luò)推廣、文化傳媒、企業(yè)宣傳、平面廣告設(shè)計(jì)等為主要業(yè)務(wù),適用行業(yè)近百種。服務(wù)企業(yè)客戶上千,涉及國(guó)內(nèi)多個(gè)省份客戶。擁有多年網(wǎng)站建設(shè)開(kāi)發(fā)經(jīng)驗(yàn)。為企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、創(chuàng)意設(shè)計(jì)、宣傳推廣等服務(wù)。 通過(guò)專業(yè)的設(shè)計(jì)、獨(dú)特的風(fēng)格,為不同客戶提供各種風(fēng)格的特色服務(wù)。

例如: T表對(duì)應(yīng)SEQ_T.NEXTVAL= 100W;

T1表對(duì)應(yīng)SEQ_T.NEXTVAL= 10W;

TRUNCATE TABLE T1;

INSERT TABLE T1 SELECT * FROM T;

數(shù)據(jù)同步但T1表對(duì)應(yīng)SEQ_T.NEXTVAL= 10W序列不變;

此時(shí)T1調(diào)用序列INSERT到T1表時(shí)就會(huì)報(bào)錯(cuò) ( ORA-00001 : 違反唯一約束條件 (LOTTERY.PK_T1))

(若批量同步很多表就可能會(huì)引起很多表序列需要更新成主鍵最大值+ 1才能保證不報(bào)錯(cuò)

(可以用把源庫(kù)的SEQUENCE同步過(guò)來(lái)①或者如下存儲(chǔ)解決② ))

如何使用Oracle序列

如何使用Oracle序列:

Oracle序列(sequence)是一種數(shù)據(jù)庫(kù)項(xiàng),能夠生成一個(gè)整數(shù)序列。通常用于填充數(shù)字類型的主鍵列。

1、創(chuàng)建序列:

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:序列開(kāi)始整數(shù)

increment_num:每次增加的整數(shù)增量

maximum:序列最大整數(shù)

minimum:序列最小整數(shù)

CYCLE:循環(huán)生成

NOCYCLE:不循環(huán)生成,默認(rèn)值

cache_num:保存在內(nèi)存中的整數(shù)的個(gè)數(shù)

NOCACHE:不緩存任何整數(shù)

例如:

CREATE SEQUENCE seq_test;(默認(rèn)值)

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語(yǔ)句來(lái)修改序列。可以修改的內(nèi)容:

不能修改序列的初值

序列的最小值不能大于當(dāng)前值

序列的最大值不能小于當(dāng)前值

例如:ALTER SEQUENCE seq_test INCREMENT BY 3;

4、刪除序列:

DROP SEQUENCE seq_test;

請(qǐng)問(wèn)oracle中的序列是干什么用的?

序列是一數(shù)據(jù)庫(kù)對(duì)象,利用它可生成唯一的整數(shù)。一般使用序列自動(dòng)地生成主碼值。一個(gè)序列的值是由特殊的Oracle程序自動(dòng)生成,因此序列避免了在應(yīng)用層實(shí)現(xiàn)序列而引起的性能瓶頸。

Oracle序列允許同時(shí)生成多個(gè)序列號(hào),而每一個(gè)序列號(hào)是唯一的。當(dāng)一個(gè)序列號(hào)生成時(shí),序列是遞增,獨(dú)立于事務(wù)的提交或回滾。允許設(shè)計(jì)缺省序列,不需指定任何子句。該序列為上升序列,由1開(kāi)始,增量為1,沒(méi)有上限。

具體步驟

1.建立序列命令

CREATE SEQUENCE [user.]sequence_name

[increment by n]

[start with n]

[maxvalue n | nomaxvalue]

[minvalue n | nominvalue]

INCREMENT BY: 指定序列號(hào)之間的間隔,該值可為正的或負(fù)的整數(shù),但不可為0。序列為升序。忽略該子句時(shí),缺省值為1。

START WITH:指定生成的第一個(gè)序列號(hào)。在升序時(shí),序列可從比最小值大的值開(kāi)始,缺省值為序列的最小值。對(duì)于降序,序列可由比最大值小的值開(kāi)始,缺省值為序列的最大值。

MAXVALUE:指定序列可生成的最大值。

NOMAXVALUE:為升序指定最大值為1027,為降序指定最大值為-1。

MINVALUE:指定序列的最小值。

NOMINVALUE:為升序指定最小值為1。為降序指定最小值為-1026。

2.更改序列命令

ALTERSEQUENCE [user.]sequence_name

[INCREMENT BY n]

[MAXVALUE n| NOMAXVALUE ]

[MINVALUE n | NOMINVALUE];

修改序列可以:

修改未來(lái)序列值的增量。

設(shè)置或撤消最小值或最大值。

改變緩沖序列的數(shù)目。

指定序列號(hào)是否是有序。

刪除序列命令

DROP SEQUENCE [user.]sequence_name;

從數(shù)據(jù)庫(kù)中刪除一序列。

創(chuàng)建一個(gè)序列號(hào)的語(yǔ)句:

中國(guó)網(wǎng)管聯(lián)盟bitsCN.com

CREATE SEQUENCE EXAM_NO_SEQ

START WITH 1484

MAXVALUE 9999999999

MINVALUE 1

CACHE 20

NOORDER;

PB中取序列號(hào)的用法:

string ?v_exam_no

SELECT exam_no_seq.nextval INTO :v_exam_no FROM dual

using ghis_database;

if ghis_database.SQLCODE0 then

messagebox("","取檢查序號(hào)出錯(cuò)")

return

end if

網(wǎng)站欄目:oracle的序列怎么改,oracle怎么改字段名
瀏覽路徑:http://chinadenli.net/article33/dsihdps.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版網(wǎng)站建設(shè)靜態(tài)網(wǎng)站全網(wǎng)營(yíng)銷推廣品牌網(wǎng)站建設(shè)網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司