什么是序列【Sequence】
我們提供的服務(wù)有:成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、銀海ssl等。為近1000家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的銀海網(wǎng)站制作公司
(1)類(lèi)似于MySQL中的auto_increment自動(dòng)增長(zhǎng)機(jī)制,但Oracle中無(wú)auto_increment機(jī)制
(2)是oracle提供的一個(gè)產(chǎn)生唯一數(shù)值型值的機(jī)制
(3)通常用于表的主健值
(4)序列只能保證唯一,不能保證連續(xù)
聲明:oracle中,只有rownum永遠(yuǎn)保持從1開(kāi)始,且繼續(xù)
(5)序列值,可放于內(nèi)存,取之較快
題問(wèn):為什么oracle不直接用rownum做主健呢?
rownum=1這條記錄不能永遠(yuǎn)唯一表示SMITH這個(gè)用戶
但主鍵=1確可以永遠(yuǎn)唯一表示SMITH這個(gè)用戶
主鍵的目的就是為了唯一地標(biāo)識(shí)一條記錄,而rownum無(wú)法實(shí)現(xiàn)唯一標(biāo)識(shí)某一條記錄。 |
為什么要用序列
(1)以前我們?yōu)橹鹘≡O(shè)置值,需要人工設(shè)置值,容易出錯(cuò)
(2)以前每張表的主健值,是獨(dú)立的,不能共享
為emp表的empno字段,創(chuàng)建序列emp_empno_seq,
create sequence 序列名
create sequence emp_empno_seq;
刪除序列emp_empno_seq,drop sequence 序列名
drop sequence emp_empno_seq;
查詢emp_empno_seq序列的當(dāng)前值currval和下一個(gè)值nextval,第一次使用序列時(shí),必須選用:序列名.nextval
select emp_empno_seq.nextval from dual; select emp_empno_seq.currval from dual;
使用序列,向emp表插入記錄,empno字段使用序列值
insert into emp(empno) values(emp_empno_seq.nextval); insert into emp(empno) values(emp_empno_seq.nextval); insert into emp(empno) values(emp_empno_seq.nextval);
修改emp_empno_seq序列的increment by屬性為20,默認(rèn)start with是1,alter sequence 序列名
alter sequence emp_empno_seq increment by 20;
修改修改emp_empno_seq序列的的increment by屬性為5
alter sequence emp_empno_seq increment by 5;
修改emp_empno_seq序列的start with屬性,行嗎
alter sequence emp_empno_seq start with 100;
不行,會(huì)報(bào)錯(cuò)
但是可以在創(chuàng)建序列的時(shí)候 ,指定起始值和增長(zhǎng)值
有了序列后,還能為主健手工設(shè)置值嗎?
insert into emp(empno) values(9999); insert into emp(empno) values(7900);
可以
(講課內(nèi)容) 刪除表,會(huì)影響序列嗎? 你無(wú)法做insert操作 刪除序列,會(huì)影響表嗎? 表真正亡,序列亡 |
【存疑:我做了試驗(yàn),徹底刪除emp表之后,還能繼續(xù)使用emp_empno_seq的nextval和currval】 |
Hibernate幫助文檔 Various additional generatorsAll generators implement the interface
|
本文名稱:Oracle系列:(24)序列
網(wǎng)站網(wǎng)址:http://aaarwkj.com/article40/iioeho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、響應(yīng)式網(wǎng)站、網(wǎng)站維護(hù)、網(wǎng)頁(yè)設(shè)計(jì)公司、小程序開(kāi)發(fā)、定制開(kāi)發(fā)
聲明:本網(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)