oracle 主键自动增加

oracle 数据库没有像 MYSQL一样有 自动ID增值 的功能,如要实现可以用触发器。

首先就是建立一个序列,序列有有自动增值的功能,再建立一个触发器。

如:

建立一个序列

CREATE SEQUENCE auto_seq
minvalue 1 -- 最小值
increment by 1 -- 每次增加值数
nocache -- 不启用缓存
nocycle -- 不循环;



建立一个触发器

CREATE OR REPLACE trigger auto_id_tri
before insert on pjsh_person -- before 表示插入新数据时执行
for each row -- 每次插入数据到pjsh_person表时执行下面的oracle 语句
begin
select auto_seq.nextval into :NEW.ID from dual;
end;



auto_id_tri 触发器名

auto_seq.nextval 提取auto_seq 序列的值

:NEW.ID ID为要添加的主键列名

pjsh_person 要添加自动ID值的表名。



至此,每次插入数据时ID值都不用插入,触发器会自动插入,如果手动插入ID值也会被触发器覆盖掉。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值