当前位置:Gxlcms > 数据库问题 > oracle数据库创建表且主键自增

oracle数据库创建表且主键自增

时间:2021-07-01 10:21:17 帮助过:13人阅读

10) PRIMARY KEY, TEAMNUM varchar(50) not null, MARKNUM varchar(50) );

 

第二步:设置ID自增

第一种方式:不使用触发器

1 CREATE SEQUENCE SEQ_TID;  
2 INSERT INTO ContestDB VALUES(SEQ_TID.NEXTVAL,‘B20007009‘,‘B001 ‘);  
3 INSERT INTO ContestDB VALUES(SEQ_TID.NEXTVAL,‘B20007010‘,‘B003 ‘);  

 

第二种方式:使用Trigger 触发器

 

 1 --自定义一个序列  
 2  create sequence ContestDB_sequence    
 3        increment by 1 --每次增加几个,我这里是每次增加1  
 4        start with 1   --从1开始计数  
 5        nomaxvalue      --不设置最大值  
 6        nocycle         --一直累加,不循环  
 7        nocache        --不建缓冲区  
 8 --创建一个触发器          
 9 CREATE TRIGGER ContestDB_trigger  
10    BEFORE INSERT ON ContestDB  
11    FOR EACH ROW  
12    WHEN (new.TID is null) --只有在tid为空时,启动该触发器生成tid号  
13 begin  
14    select ContestDB_sequence.nextval into :new.TID from sys.dual;  
15 end;  
16   
17 insert into ContestDB(TEAMNUM,MARKNUM) values(‘A20007013‘,‘A002‘);   
18   
19 insert into ContestDB(TEAMNUM,MARKNUM) values(‘A20007014‘,‘A003‘);   

 


 

   

oracle数据库创建表且主键自增

标签:使用   sys   prim   oracle数据库   sql   with   null   max   trigger   

人气教程排行