第一步:创建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.   

    或者在插入语句中
    INSERT INTO TBNAME VALUES(s_country_id.NEXTVAL,...);
      

  2.   

    我们经常在设计数据库的时候用一个系统自动分配的ID来作为我们的主键,但是在ORACLE 中没有这样的功能,我们可以通过采取以下的功能实现自动增加ID的功能
         1.首先创建 sequence  
           create sequence seqmax increment by 1
         2.使用方法
           select seqmax.nextval ID from dual
           就得到了一个ID
           如果把这个语句放在 触发器中,就可以实现和mssql 的自动增加ID相同的功能!
      

  3.   

    第一步:创建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;
    INSERT INTO TBNAME VALUES(s_country_id.NEXTVAL,...);
    end;
      

  4.   

    请问referencing old as old new as new for each row
    是什么意思呢?
      

  5.   

    create table a(b int, cvarchar2(5));建一个序列create sequence a_seq increment by 1 start with 100;建一个触发器create or replace trigger t_abefore insert on afor each rowbeginselect s_a.nextval into :new.b from dual;end;
      

  6.   

    first: create a sequences...
    second : create a triggers...before you insert a value into your table ... 
    create or replace trigger *****_TRIGGER before insert on ******* for each row  
    begin Select **********_SEQUENCE.nextval into :new.*****  from dual; end;
      

  7.   

    alter table tablename add 列名 int identity(1,1) 0
      

  8.   

    谢谢各位了!在我的印象中在新版本中好像有这个功能的吧,不用Sequence。
      

  9.   

    先建立一个sequence,
    create sequence sequ increment by 1 start with 1
    然后在插入的时候调用使用 sequ.nextval