新聞中心
如何使用Oracle序列
如何使用Oracle序列:
成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括紫云網(wǎng)站建設(shè)、紫云網(wǎng)站制作、紫云網(wǎng)頁(yè)制作以及紫云網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,紫云網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到紫云省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
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;
oracle添加數(shù)據(jù) 序列怎么使用
創(chuàng)建序列
CREATE SEQUENCE SEQUENCE_NAME
START WITH 10
INCREMENT BY 10
MAXVALUE 2000
MINVALUE 10
NOCYCLE
CACHE 10
?通過(guò)序列的偽列來(lái)訪問(wèn)序列的值
–SEQUENCE_NAME.NEXTVAL
返回序列的下一個(gè)值
–SEQUENCE_NAME.CURRVAL
返回序列的當(dāng)前值
請(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
分享標(biāo)題:oracle序列怎么用6,oracle使用序列
鏈接地址:http://www.dlmjj.cn/article/hopdos.html