Oracle的序列和索引

在Oracle中并没有这种主键id自增的功能,所以就需要用其他办法来实现,其实很简单,只要创建一个触发器、一个序列即可,在插入数据时触发这个触发器,然后触发器从序列中取出下一个ID值插入表中,就OK了,下面是一个简单的例子:

1.创建一张表example

 create table u_00.Student(
 id number primary key,
 name varchar2(10),

 school varchar2(10));

2.创建序列

    CREATE SEQUENCE  "U_00"."S_SEQUENCE" 
   MINVALUE 1 MAXVALUE 9999999999999999999999999999 
   INCREMENT BY 1 START WITH 50 NOCACHE  NOORDER  NOCYCLE ;

 

3.创建触发器

create trigger "U_00.tri_example" 
before insert on example for each row when(new.id is null)
begin 
  select U_00.seq_example.nextval into :"U_00.STUDENT".id from dual;
  end;
 

 

全部评论

相关推荐

在看牛客的社畜很积极:身高体重那一行信息去掉,学校那一行的信息放上面,找半天都没找到你是哪个学校什么专业的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务