ORACLE数据库设置主键自增的两种方法:序列与触发器

方法一:序列

第一步创建序列:CREATE SEQUENCE topic_sequence 
                             INCREMENT BY 1  
                             START WITH 1 
                             NOMAXVALUE  
                             nocycle 
                             nocache

第二步插入数据:insert into pd_topic   (id,topic_name)  
                             values( topic_sequence .nextval,'zhangsan')  //红色部分为序列获得的id值
   

 

 

方法二:触发器

第一步先创建序列:CREATE SEQUENCE topic_sequence 
                               INCREMENT BY 1  
                               START WITH 1 
                               NOMAXVALUE  
                               nocycle 
                               nocache

第二步创建触发器:  create or replace trigger topic_trigger 
                                  before insert on pd_topic 
                                  for each row 
                                  begin 
                                  select topic_sequence.nextval into :new.ID from dual; 
                                  end; 

第三步插入数据,不用在添加id字段,触发器会自动自增:

                              insert into pd_topic   (topic_name)  
                              values( 'zhangsan')  

                          

 

你可能感兴趣的:(ORACLE数据库设置主键自增的两种方法:序列与触发器)