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