可以通过sequence来自动生成,到论坛中搜索“序列”或“自动增加”

解决方案 »

  1.   

    例子~~~
    SQL> create sequence a_sequence
      2  start with 1
      3  increment by 1;序列已创建。SQL> create table t (n number ,v varchar2(10));表已创建。SQL> create or replace trigger t_trg
      2  before insert or update on t
      3  for each row
      4  begin
      5    select a_sequence.nextval into :new.n from dual;
      6  end;
      7  /触发器已创建SQL> insert into t values(111,'ok');已创建 1 行。SQL> select *  from t;         N V
    ---------- ----------
             1 ok
      

  2.   

    select seq_demo.currval from dual;
      

  3.   

    补充一下:
    如果是要该记录在数据库中的物理地址,就用:
      select rowid from tabname where 找出该记录的条件;
    如果是用序列触发器自动增加后,查询该记录所增加的ID字段(表中的真实字段)的值:
      (建立序列触发器)
      select id字段 from tabname where 找出该记录的条件;