在设想数据库的时刻,Oracle中没有相似SQL Server中体系自动分派ID作为主键的功用,这时候Oracle能够经由过程“序列”和“触发器”来完成ID自动增添的功用。
1.建立序列Sequence
create sequence seq_uid increment by 1 start with 1 nomaxvalue nocycle cache 10 ;
个中:"seq_uid"示意自定义的序列称号;
"start with 1"示意序列值从1最先;
"increment by 1"示意序列每次增添的值为1。
序列的运用要领:
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自增的要领(代码示例)的细致内容,更多请关注ki4网别的相干文章!