方法:1、用“create sequence 序列名 minvalue …”創(chuàng)建序列;2、利用“create or replace trigger 觸發(fā)器名 before insert on message.表名…”創(chuàng)建觸發(fā)器即可。
本教程操作環(huán)境:Windows10系統(tǒng)、oracle 11g版、Dell G3電腦。
oracle怎么實(shí)現(xiàn)主鍵自增
oracle在創(chuàng)建表的時(shí)候不能像mysql那樣可以直接選擇自增,但是在oracle中我們可以通過給表結(jié)構(gòu)添加序列和觸發(fā)器,去實(shí)現(xiàn)主鍵自增。
這是PolarDB數(shù)據(jù)庫,但是和Oracle的用法還是很像。
這是新建的表結(jié)構(gòu),id為主鍵。
第一步:創(chuàng)建序列
create?sequence?sms_id minvalue?1 nomaxvalue? increment?by?1? start?with?1 nocache;
序列其他使用方法
查詢序列
select?sms_id.currval?from?dual?//查詢當(dāng)前id是第幾
刪除序列
DROP?SEQUENCE?sms_id;
第二步:創(chuàng)建觸發(fā)器
create?or?replace?trigger?sms_tg_insertId before?insert?on?message.oa_doc_smsinfo? for?each?row? begin select?sms_id.Nextval?into:new.id?from?dual; end;
觸發(fā)器其他使用方法
刪除觸發(fā)器
drop?trigger?sms_tg_insertId
第三步:添加數(shù)據(jù)測試
運(yùn)行了三次,id自動(dòng)增長。
推薦教程:《Oracle視頻教程》
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END
喜歡就支持一下吧
相關(guān)推薦