如果你的新记录有新的标识(入ID), 就可以 select rowid from user_table where id=...;
select rowid from table_name where primary_item = ....
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
如果用于数据的insert,update等处理的话用rowid 最好 存完取得rowid select rowid row_id from table where ........ 或者cursor或者 into 到变量。
select rowid from table;
insert into table a(field1,field2) values(v1,v2) return rowid into :rid 就可以在插入的时候取到rowid。
rowid 是系统内部使用的; sequence是用户自定义的。 你用哪一个由自己决定。 select rowid from tablename where 条件; 可以查看任一记录的rowid 如用sequence,insert 后你如果想查看该记录的由sequence生成的列值,可以用 select yourcol_seq from tablename where 或用 select myseq.currval from dual;就可得到当然的sequence值。
就可以
select rowid from user_table where id=...;
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
存完取得rowid
select rowid row_id from table where ........
或者cursor或者 into 到变量。
就可以在插入的时候取到rowid。
sequence是用户自定义的。
你用哪一个由自己决定。
select rowid from tablename where 条件;
可以查看任一记录的rowid
如用sequence,insert 后你如果想查看该记录的由sequence生成的列值,可以用
select yourcol_seq from tablename where
或用
select myseq.currval from dual;就可得到当然的sequence值。
rowid是自动生成的