第一步:创建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
select s_country_id.nextval into :new.country_id from dual;
end;
/

解决方案 »

  1.   

    方法:
    1.创建sequence就可以
    create sequence seq_name
    minvalue 1
    maxvalue 999999999999999999
    start with 1
    increment by 1
    cache 20;
    可以直接在插入时调用seq_name.nextval;
    如insert into table_name(proid) values(seq_name.nextval);2.也可以创建触发器(同时要创建sequence):
    create or replace trigger trg_name
    before insert on table_name
    for each row
    begin
    select seq_name.nextval into :new.proid from dual;
    end;
    /