Oracle使用_ID自增等_持續更新

文件名稱 版本號 作者 qq 版本
Oracle使用_持續更新 v1.0.0 學生宮布 8416837 Oracle 12C

配置

序列

ID相關

先創建sequence(序列),再創建trigger(觸發器),然後測試效果

# E_PERM_CLIENT_ROLE是表名
# ID是主鍵名稱
# 創建E_PERM_CLIENT_ROLE序列及觸發器↓

create sequence E_PERM_CLIENT_ROLE_ID_Seq
 increment by 1
 start with 1482
 minvalue 1
 maxvalue 99999999991234;
# 自增配置還沒完成,按下文再創建觸發器,就可以用了

# 更新序列,【有需要就更新】
ALTER sequence E_PERM_CLIENT_ROLE_ID_Seq -- E_PERM_CLIENT_ROLE_ID_Seq:上文中定義的序列名稱
start with 1485
INCREMENT BY 2
MAXVALUE 99999999991235;
-- 等等
-- CYCLE -- 到10000後從頭開始
-- NOCACHE;

# 丟棄序列
DROP sequence E_PERM_CLIENT_ROLE_ID_Seq

# 創建ID自增觸發器

create trigger trg_E_PERM_CLIENT_ROLE         -- trg_team是觸發器名稱

before insert on E_PERM_CLIENT_ROLE           --在創建觸發器前對每一行檢測是否觸發(team你建的表)

for each row 

begin
select E_PERM_CLIENT_ROLE_ID_Seq.nextval 

into :new.ID from dual;        --(new:是關鍵字不必變動;id指的是表中需要自增的id,以實際爲準)

end;

# 測試
# 查看存在的序列
select * from user_sequences;
# 查看現有數據
SELECT * FROM E_PERM_CLIENT_ROLE ORDER BY ID DESC
# 新增時,ID就會自增了
INSERT INTO E_PERM_CLIENT_ROLE(CLIENT_ID, ROLE_CODE) VALUES(440, 'ccTest001')

序列列表select * from user_sequences;
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章