Oracle CURRVAL应用限制

在连续的两个插入语句中,先在主表中插入一条记录(nextval获取序号),然后插入子表,插入子表时将序号(currval读取序号)作为关键字,如下所示

insert into parent(parent_id, ...) values(mysequence.NEXTVAL, ...);  --主表

insert into child(parent_id, ...) values(mysequence.CURRVAL, ...);    --子表

oracle会弹出序列未定义的错误。

好像跟oracle的版本有关,过去低版本可以,但是新版本不可以了。

可以先将NEXTVAL保存在本地,然后直接用本地值。

原文地址:https://www.cnblogs.com/imhuanxi/p/12597793.html