oracle 创建触发器和序列(id自增)

很多用习惯了MSSQL的同学就会经常用到ID的自增,这在MSSQL中非常容易实现,但是在Oracle中并没有这种功能,所以就需要用其他办法来实现,其实很简单,只要创建一个触发器、一个序列即可,在插入数据时触发这个触发器,然后触发器从序列中取出下一个ID值插入表中,就OK了,下面是一个简单的例子:

  1、创建表example:

create table example(
  id number(4) not null primary key,
  name varchar(25),
  phone varchar(15),
  address varchar(50)
);

  2、创建序列sql_example:

create sequence seq_example
  increment by 1    --每次加几个
  startwith 1    --从1开始计数
  nomaxvalue    --不设置最大值
  nocycle    --直累加,不循环
  cache10 ;

  3、创建触发器tri_example:

create trigger tri_example before insert
on example for each row when (new.id is null)
begin
  select seq_example.nextval into: example.id from dual;
end;
  4、像MSSQL中一样插入数据(不需要加ID的哦,因为触发器已经帮你完成了~)
insert into example (name, phone, address) Values ('admin', 'admin', 'Heibei');
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值