ORA-08002:シーケンスMySeq.currvalはこのセッションでまだ定義されていません



Ora 08002 Sequence Myseq



2019 Unicorn Enterprise Heavy Gold Recruitment Python Engineer Standard >>> hot3.png

MySeq.currvalは、セッションのMySeqシーケンスから最新の値を取得して返すため、セッションで少なくとも1回MySeq.NEXTVALで値を取得するまで定義されていません。 CURRVALの目的は、コードでシーケンス値を複数回使用できるようにすることです。



CURRVALが任意のセッションから最新の値のみを取得して戻る場合、以下のコードでは役に立たなくなり、実際にはデータの汚染につながります。

この問題を回避するためのヒントもあります。



select LAST_NUMBER from user_sequences where sequence_name='MYSEQ' insert into parent(parent_id, ...) values(mysequence.NEXTVAL, ...) insert into child(parent_id, ...) values(mysequence.CURRVAL, ...)

スタックオーバーフロー

転載:https://my.oschina.net/u/553266/blog/2251958