久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

簡(jiǎn)單三步輕松實(shí)現(xiàn)ORACLE字段自增

 jp乞巧樓 2015-09-17
  第一步:創(chuàng)建一個(gè)表,。
復(fù)制代碼 代碼如下:

create table Test_Table
(
ID number(11) primary key,
Name varchar(50) not null,
Value1 varchar(50) not null
)

第二步:創(chuàng)建一個(gè)自增序列以此提供調(diào)用函數(shù),。
復(fù)制代碼 代碼如下:

create sequence AutoID
start with 1 //根據(jù)需要自己可修改該數(shù)值
increment by 1 //步長(zhǎng)值
minvalue 1
nomaxvalue

其實(shí)到此步驟,已經(jīng)可以實(shí)現(xiàn)字段自增了,。新增記錄時(shí)看如下代碼:
復(fù)制代碼 代碼如下:

Insert into Test_Table(ID,Name,Value1)values(AutoID.nextval,'xiyang','blog')

第三步:我們通過(guò)創(chuàng)建一個(gè)觸發(fā)器,,使調(diào)用的方式更加簡(jiǎn)單。
復(fù)制代碼 代碼如下:

create trigger AutoID_Trigger

before insert on Test_Table for each row
begin
select AutoID.nextval into :new.ID from dual;
end AutoID_Trigger;

該觸發(fā)器在數(shù)據(jù)庫(kù)注冊(cè)了表格的偵聽(tīng),,即當(dāng)指定表Test_Table插入記錄之前,,我們調(diào)用一個(gè)序列方法的nextval獲得新值,插入自增字段,。
在觸發(fā)器中,,我們調(diào)用了系統(tǒng)虛擬表dual,,該表作為系統(tǒng)表的一部分,它內(nèi)部只存儲(chǔ)一條記錄,,我們可以通過(guò)該表獲取與系統(tǒng)相關(guān)的一些信息或者進(jìn)行一些簡(jiǎn)單的邏輯操作,。
在該觸發(fā)器中,我們使用了dual的一個(gè)經(jīng)典用法,,即獲取定義序列的nextval方法,。
通過(guò)上面三個(gè)步驟,我們就實(shí)現(xiàn)了一個(gè)表的字段自增,,做插入操作時(shí)執(zhí)行以下代碼即可:
Insert into Test_Table(Name,Value1) values('xiyang','blog')
通過(guò)在數(shù)據(jù)庫(kù)中查詢結(jié)果集,,會(huì)發(fā)現(xiàn)ID列是自增的。
值得一提的是,,在數(shù)據(jù)庫(kù)操作中,,觸發(fā)器的使用耗費(fèi)系統(tǒng)資源相對(duì)較大。如果對(duì)于表容量相對(duì)較小的表格我們可以忽略觸發(fā)器帶來(lái)的性能影響,。考慮到大表操作的性能問(wèn)題,,
我們盡可能的減少觸發(fā)器的使用,。對(duì)于如上操作,我們完全可以拋棄觸發(fā)器的使用,,直接手動(dòng)調(diào)用序列函數(shù)即可,,這樣可能在程序維護(hù)上稍微帶來(lái)一些不便。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多