利用触发器触发序列实现oracle表数据的序列自增

第一次用oracle开发整合的web项目,发现oracle没有mysql的自动递增的功能,现只能走触发器、序列的途径,现把方法整理分享给大家,方便以后使用:
首先:在oracle里创建序列
-- Create sequence
create sequence R_STAFF_ROLE_SEQ //序列名
minvalue 1 //最小值
maxvalue 99999999999 //最大值,一般这个足够用
start with 1 //开始值
increment by 1 //增量
cache 20 //缓存大小
order;

其次:在oracle里编写触发器

CREATE OR REPLACE TRIGGER TRI_R_STAFF_ROLE
BEFORE INSERT ON R_STAFF_ROLE
FOR EACH ROW
BEGIN
SELECT R_STAFF_ROLE_SEQ.NEXTVAL
INTO :NEW.STAFF_ROLE_ID
FROM DUAL;
END ;

含义:当执行保存操作的时候,先->触发器->触发序列_>系统添加序列值->保存数据

以上问题是为不写hibernate配置的用户使用方法。

希望对大家有帮助,多多指点。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值