oracle中不能自动获得,oracle中也不能自动插入编号,要用触发器+序列才能实现自动插入
create sequence SEQ1
minvalue 1
maxvalue 99999999999
start with 1
increment by 1
cache 20;只能是
select seq1.nextval into idnum from dual;
insert into a(id,t1,t2) values(idnum,'a','b');
insert into b(t3,t4) values(idnum,'c');
create sequence SEQ1
minvalue 1
maxvalue 99999999999
start with 1
increment by 1
cache 20;只能是
select seq1.nextval into idnum from dual;
insert into a(id,t1,t2) values(idnum,'a','b');
insert into b(t3,t4) values(idnum,'c');
insert into a(id,t1,t2) values(idnum,'a','b');
select seq1.currval into idnum from dual;
insert into b(t3,t4) values(idnum,'c');
insert into a(id,t1,t2) values(seq1.nextval,'a','b');
insert into b(t3,t4) values(seq1.currval,'c');
insert into a(id,t1,t2) values(idnum,'a','b');
insert into b(t3,t4) values(idnum,'c');我现在已经建了触发器了,insert into a(id,t1,t2) values(idnum,'a','b');那个idnum在这里没用的。
我想 把这些语句包一起执行,可是不行的。
begin
select seq1.nextval into idnum from dual;
insert into a(id,t1,t2) values(idnum,'a','b');
insert into b(t3,t4) values(idnum,'c');
end
这样会错的。
指教了!(我不想看到seq1这个名字,通过select 刚才那条记录的自动编号可以吗?)