方法:1、用“create sequence 序列名 minvalue ...”创建序列;2、利用“create or replace trigger 触发器名 before insert on message.表名...”创建触发器即可。

本教程操作环境:Windows10系统、Oracle 11g版、Dell G3电脑。
oracle怎么实现主键自增
oracle在创建表的时候不能像mysql那样可以直接选择自增,但是在oracle中我们可以通过给表结构添加序列和触发器,去实现主键自增。
这是PolarDB数据库,但是和Oracle的用法还是很像。
这是新建的表结构,id为主键。

第一步:创建序列
create sequence sms_id minvalue 1 nomaxvalue increment by 1 start with 1 nocache;

序列其他使用方法
查询序列
select sms_id.currval from dual //查询当前id是第几
删除序列
damishop介绍 大米外贸商城系统 简称damishop 完全开源版,只需做一种语言一键开启全球133中语言自动翻译功能,价格实现自动汇率转换,集成微信支付宝 paypal以及国外主流支付方式,自带文章博客系统,首创支持可视化编辑。 软件架构 基于MVC+语言包模式,增加控制台,API导入产品方便对接其他系统(带json示例数据)。 使用要求
DROP SEQUENCE sms_id;
第二步:创建触发器
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;

触发器其他使用方法
删除触发器
drop trigger sms_tg_insertId
第三步:添加数据测试
运行了三次,id自动增长。


推荐教程:《Oracle视频教程》









