Oracle数据库表添加主键自增

Oracle数据库中没有自增字段,我们可以通过创建序列和触发器的方式,间接地实现自增的效果。

举个实例:

1.创建表TEST

create table TEST(
           id number(10) primary key,   /*主键,自动增加*/
           name varchar2(20),		    /*姓名*/
		   phone varchar2(20),		    /*电话*/
		   sex varchar2(10),			/*性别*/
		   age number(10)				/*年龄*/
           );

2.创建自增长序列

create sequence TEST_SEQ
minvalue 1				-- 最小值
-- maxvalue 2000		-- 最大值
nomaxvalue      		-- 不设置最大值 
start with 1			-- 从1开始计数
increment by 1			-- 每次增加1
nocycle					-- 一直累加,不循环
cache 20;

注意:根据实际情况 选择配置项。比如:表单中存在一部分原始数据,在创建自增长序列时,可以设置计数起始位置。例如表中存在100条原始数据,那么我们可以设置 start with 101 ,这样自增长就会从101开始。

3.创建触发器

create or replace trigger TEST_TR
before insert on TEST
for each row
begin
select TEST_SEQ.nextval into :new.id from dual;
end TEST_TR;

        new.id中的id为自增的字段。 根据你自己的表字段自行设置。

4.测试

insert into TEST(name,phone,sex,age)  values('张三','18888888888','男',25)
insert into TEST(name,phone,sex,age)  values('李四','18888888889','男',29)

结果:

到这,就可以实现oracle主键自增了。

希望这篇文章对您的工作有所帮助。

LAST   一切美好的遇见都是命中注定~!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值