本人乃第一次接触ORACLE,望各位大侠指点一二;
我自己也写了种方法 但不适用:
insert into CheShi2(C2_ID,C2_Td,C2_Tr) values(ceshi2.nextval,'dsdas','dsadas');
Select ceshi2.currval from dual;同时也不考虑用存储过程和 触发器写 ,如果能用一条sql语句写出来就最好了
我自己也写了种方法 但不适用:
insert into CheShi2(C2_ID,C2_Td,C2_Tr) values(ceshi2.nextval,'dsdas','dsadas');
Select ceshi2.currval from dual;同时也不考虑用存储过程和 触发器写 ,如果能用一条sql语句写出来就最好了
create sequence row_id
minvalue 1
maxvalue 9999999999999999999999
start with 1
increment by 1 insert into test values(row_id.nextval,....)
当前序列号row_id.currentval
下一个序列号row_id.nextval
Select ceshi2.currval from dual;在客户端用一个connection,发送两次查询命令就不会抱错了,不会出现并发问题的。使用 CURRVAL
任何对 CURRVAL 的引用返回指定序列的当前值,该值是最后一次对 NEXTVAL 的引用所返回的值。用 NEXTVAL 生成一个新值以后,可以继续使用 CURRVAL 访问这个值,不管另一个用户是否增加这个序列。