• 技术文章 >数据库 >Oracle

    oracle怎么实现主键自增

    长期闲置长期闲置2022-05-25 11:24:11原创119

    方法: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为主键。

    08.png

    第一步:创建序列

    create sequence sms_id
    minvalue 1
    nomaxvalue 
    increment by 1 
    start with 1
    nocache;

    09.png

    序列其他使用方法

    查询序列

    select sms_id.currval from dual //查询当前id是第几

    删除序列

    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;

    10.png

    触发器其他使用方法

    删除触发器

    drop trigger sms_tg_insertId

    第三步:添加数据测试

    运行了三次,id自动增长。

    11.png

    12.png

    推荐教程:《Oracle视频教程

    以上就是oracle怎么实现主键自增的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:oracle
    上一篇:oracle怎么解决1658错误 下一篇:oracle怎么查询表的同义词
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• oracle怎么查询下一个序列• oracle中转为大写的函数是什么• oracle纵表怎么转横表• 怎么删除oracle当前连接的用户• oracle 11g中rac怎么关闭
    1/1

    PHP中文网