create sequence mysq;
select mysq.currval,mysq.nextVal from dual;
按道理应该输出 x和 x+1 (即先输出当前值,然后输出下一个)
但事实上,为什么每次输出的两个值是相同的
create sequence mysq;
select mysq.currval,mysq.nextVal from dual;
按道理应该输出 x和 x+1 (即先输出当前值,然后输出下一个)
但事实上,为什么每次输出的两个值是相同的
楼主,mysq.nextval只是移动指针,并不是真正代表指定一个数据,一般我们是先
select mysq.nextVal from dual;先让指针向下走一步,然后再查询当前指针所指的值,
select mysq.currval from dual 。