国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

簡單三步輕松實現ORACLE字段自增

2020-07-26 14:22:30
字體:
來源:轉載
供稿:網友
第一步:創建一個表。
復制代碼 代碼如下:

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

第二步:創建一個自增序列以此提供調用函數。
復制代碼 代碼如下:

create sequence AutoID
start with 1 //根據需要自己可修改該數值
increment by 1 //步長值
minvalue 1
nomaxvalue

其實到此步驟,已經可以實現字段自增了。新增記錄時看如下代碼:
復制代碼 代碼如下:

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

第三步:我們通過創建一個觸發器,使調用的方式更加簡單。
復制代碼 代碼如下:

create trigger AutoID_Trigger

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

該觸發器在數據庫注冊了表格的偵聽,即當指定表Test_Table插入記錄之前,我們調用一個序列方法的nextval獲得新值,插入自增字段。
在觸發器中,我們調用了系統虛擬表dual,該表作為系統表的一部分,它內部只存儲一條記錄,我們可以通過該表獲取與系統相關的一些信息或者進行一些簡單的邏輯操作。
在該觸發器中,我們使用了dual的一個經典用法,即獲取定義序列的nextval方法。
通過上面三個步驟,我們就實現了一個表的字段自增,做插入操作時執行以下代碼即可:
Insert into Test_Table(Name,Value1) values('xiyang','blog')
通過在數據庫中查詢結果集,會發現ID列是自增的。
值得一提的是,在數據庫操作中,觸發器的使用耗費系統資源相對較大。如果對于表容量相對較小的表格我們可以忽略觸發器帶來的性能影響。考慮到大表操作的性能問題,
我們盡可能的減少觸發器的使用。對于如上操作,我們完全可以拋棄觸發器的使用,直接手動調用序列函數即可,這樣可能在程序維護上稍微帶來一些不便。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 磐石市| 唐山市| 丹巴县| 宝鸡市| 舟曲县| 鱼台县| 丰镇市| 东丰县| 西青区| 怀柔区| 武川县| 怀仁县| 双城市| 临安市| 两当县| 连云港市| 林口县| 墨竹工卡县| 图木舒克市| 饶阳县| 大英县| 磐安县| 旺苍县| 富宁县| 玉门市| 喀喇| 湘西| 东乡族自治县| 金溪县| 界首市| 巴马| 万州区| 大庆市| 吴旗县| 白城市| 连州市| 离岛区| 斗六市| 保定市| 正安县| 上饶市|