Oracle实现主键自增长

本文介绍如何在Oracle数据库中使用sequence实现自增ID,并通过触发器自动为表中的记录分配唯一的ID值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

与MySQL自动设置主键自增不同,Oracle数据库如果想要实现在插入数据的时候可以自动插入主键ID,需要通过队列sequence实现。

一:创建自增队列

create sequence ORDER_ID_SQU//队列名
minvalue 1                    //最小值
maxvalue 5000000            //最大值
start with 1                //从1开始
increment by 1                //每次自增1
cache 20;                    //缓存20。

二:为需要自增ID的表创建触发器,并将从队列中获取的值插入表中

CREATE OR REPLACE TRIGGER TRIGGER_ORDER    //触发器名TRIGGER_ORDER  
BEFORE INSERT ON T_USER_INFO              //表名T_USER_INFO
    for each row                          //为每一行
    when(NEW.ID is NULL)                //当新插入的数据的ID(此ID为表名的字段)
    begin      
        select ORDER_ID_SQU.Nextval into :NEW.ID from dual;   //取队列的下一个值插入表中对应的ID字段
    end; 

 

转载于:https://my.oschina.net/u/3544275/blog/1574704

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值