oracle设置主键自动递增(建表_建序列_建触发器_测试),取序列值

本文详细介绍了如何在Oracle数据库中设置主键自动递增,包括创建表、序列、触发器,并提供了测试用例。同时,讨论了如何在Mybatis中配合使用,特别指出在插入时如何处理主键字段。
摘要由CSDN通过智能技术生成

1、建表

create table blog(blogId number(10) not null primary key, blogName varchar2(40) not null, username varchar2(10) null);


2、建序列:用于表的主键

create sequence blog_autoinc_seq minvalue 1 maxvalue 999999999 startwith 1 increment by 1 nocycle order;


3、建触发器:建立表之前,先检索序列的下一位的值用于插入到表的blogId

create or replace trigger blog_autoinc_tg

before insert on blog for each row

begin select blog_autoinc_seq.nextval into :new.blogId from dual;

end blog_autoinc_tg;


4、插入表数据测试

insert into blog values('','清风沐沐','yingsuzhilie');

insert into blog values('','小溪','zhaoxi');


完成,

如果写了触发器,使用mybatis插入时,把id这一列空出即可;否则得取序列值,如下:


5、取序列值

序列的下一位值:select blog_autoinc_seq.nextval from dual;

序列的当前的值:select blog_autoinc_seq.curral from dual;


6、mybatis中insert语句

<insert id="insertAutoKey" parameterType="Map">
<selectKey keyProperty="id" resultType="int" order="BEFORE">
select blog_autoinc_seq.nextval from dual
</selectKey>
insert intoblog(blogid,blogName,username) 
values(#{id},,#{blogname},#{username})
</insert>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值