这个!你还得读看看书oracle里用sequence,
rowid,是内部使用的

解决方案 »

  1.   

    如果你的新记录有新的标识(入ID),
    就可以
      select rowid from user_table where id=...;
      

  2.   

    select rowid from table_name where primary_item = ....
      

  3.   

    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
      

  4.   

    如果用于数据的insert,update等处理的话用rowid 最好
    存完取得rowid
    select rowid row_id from table where ........
    或者cursor或者 into 到变量。
      

  5.   

    select rowid from table;
      

  6.   

    insert into table a(field1,field2) values(v1,v2) return rowid into :rid
    就可以在插入的时候取到rowid。
      

  7.   

    rowid 是系统内部使用的;
    sequence是用户自定义的。
    你用哪一个由自己决定。
    select rowid from tablename where 条件;
    可以查看任一记录的rowid
    如用sequence,insert 后你如果想查看该记录的由sequence生成的列值,可以用
    select yourcol_seq from tablename where
    或用
    select myseq.currval from dual;就可得到当然的sequence值。
      

  8.   

    序列+解发器
    rowid是自动生成的