在oracle中建立自动递增的主键列

一、创建自增序列:
create sequence cnet_wf_net_seq
 increment by 1
 start with 1
 maxvalue 999999;

二、创建触发器(设表的自增列为Id):
create or replace trigger cnet_wf_net_trigger
  before insert on cnet_wf_net
  for each row
declare 
  s_id number;
begin  
  select cnet_wf_net_seq.nextval into s_id from dual; 
  :new.id:=s_id; 
end cnet_wf_net_trigger;


三、总结
通过上面两步,就会在表cnet_wf_net中的id中添加一个自动递增的主键列
cnet_wf_net_seq为自增序列
cnet_wf_net_trigger为触发器



注:本人添加一点

其实可以不用触发器,在INsert sql中直接取cnet_wf_net_seq的值即可

当然了通过触发器有触发器的好处 ,就是你不用在写sql中再去关注主键的递增了

但是如果用系列cnet_wf_net_seq 来获取值,则可以做一些向多个表 插入外键值的操作需要。这样插入操作时就不需要在想办法去获得主键的值了

你可能感兴趣的:(oracle,sql,.net)