我insert 了一条记录 id为seq.nextval,
然后我需要把它再查询出来,
select * from table where id=seq.currval
报ora-00287的错误.
如何解决这个问题啊?
如果用max(id)查询的话,
如果别人此时也插入了一条语句,
那么会不会造成取出来的数据不对呢,
然后我需要把它再查询出来,
select * from table where id=seq.currval
报ora-00287的错误.
如何解决这个问题啊?
如果用max(id)查询的话,
如果别人此时也插入了一条语句,
那么会不会造成取出来的数据不对呢,
别人此时也插入了一条语句,会造成取出来的数据满足最大SEQ,你用 seq.currval取得的也是最大SEQ,一个效果。
这样可以吗?
以前一直用db2,也不是太精通.
现在改oracle.更晕.
declare
cc int;
max_v int;
begin
select seq.nextval into cc from dual;
insert into tt valuse(cc);
select max(colN) into max_v from tt;
if max_v=cc then
dbms_output.put_line('没有错,可以继续进行!');
else
dbms_output.put_line('有错,不可以继续进行!');
end if;
end;