加入收藏 | 设为首页 | 会员中心 | 我要投稿 娄底站长网 (https://www.0738zz.cn/)- 科技、网络安全、业务安全、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Oracle中如何用序列和触发器达成ID自增

发布时间:2022-02-25 14:51:22 所属栏目:MySql教程 来源:互联网
导读:小编给大家分享一下Oracle中如何用序列和触发器实现ID自增,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧! 在设计数据库的时候,Oracle中没有类似SQL Server中系统自动分配ID作为主键的功能,这时Oracle可以通过序列和触发器来实现ID自动增
      小编给大家分享一下Oracle中如何用序列和触发器实现ID自增,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!
 
      在设计数据库的时候,Oracle中没有类似SQL Server中系统自动分配ID作为主键的功能,这时Oracle可以通过“序列”和“触发器”来实现ID自动增加的功能。
 
1.创建序列Sequence
 
create sequence seq_uid
  increment by 1   
  start with 1    
  nomaxvalue    
  nocycle   
  cache 10 ;
 
序列的使用方法:
 
select seq_uid.nextval ID from dual
      这样就得到了序列的下一个值,将这个语句放在触发器中,就可以实现类似SQL Server中ID自增的功能。
 
2.创建触发器Trigger
 
create trigger tri_uid before insert on [tablename] for each row when (new.[columnname] is null)
begin
    select seq_uid.nextval into:new.[columnname] from dual;
end;
其中:"tri_uid"表示自定义的触发器名称;
 
   "seq_uid"表示要使用的序列名称;
 
   "[columnname]"表示要实现自增的列;
 
   "[tablename]"表示要实现自增的列所在的数据表。
 
看完了这篇文章,相信你对Oracle中如何用序列和触发器实现ID自增有了一定的了解。

(编辑:娄底站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读