1.先select xiaobo.se_orderid.nextval from dual;然后再select xiaobo.se_orderid.currval from dual;
2。很明显,不可以那样使用。
要达到相同的目的,可以:
create or replace trigger tri_on_ins
before insert on orders
for each row
begin
select se_orderid.nextval into :orderid from dual;
end;
2。很明显,不可以那样使用。
要达到相同的目的,可以:
create or replace trigger tri_on_ins
before insert on orders
for each row
begin
select se_orderid.nextval into :orderid from dual;
end;
before insert on orders
for each row
begin
select se_orderid.nextval into :orderid from dual;
end;
如果在触发器中得用序列,在插入时可以不管ID,有触发器自动执行。
如果用语句插入也行,就像 insert into table_name(id,name,...) values(seq_name.nextval,'name',..);
一般就这两种用法:
1.创建sequence
create sequence seq_name
minvalue 1
maxvalue 999999999999999999
start with 1
increment by 1
cache 20;
可以直接在插入时调用seq_name.nextval;
如insert into table_name(proid) values(seq_name.nextval);2.创建触发器(同时要创建sequence):
create or replace trigger trg_name
before insert on table_name
for each row
begin
select seq_name.nextval into :new.proid from dual;
end;
/