自动编号在oracle是定义一个序列sequence来实现,要想自动减就要靠其他方法了

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topic/1153/1153511.xml?temp=.284466
      

  2.   

    使用触发器,一个是before insert触发器,另一个为after delete,在触发器里面对数据重新赋编号
      

  3.   

    Oracle上没有自增字段,可以使用索引和触发器来达到此目的
    第一步:创建SEQUENCE
    create sequence s_country_id increment by 1 start with 1 maxvalue 999999999;
    第二步:创建一个基于该表的before insert 触发器,在触发器中使用该SEQUENCE
    create or replace trigger bef_ins_t_country_define
    before insert on t_country_define
    referencing old as old new as new for each row
    begin
    new.country_id=s_country_id.nextval;
    end;