現在の順序の値を得る方法について

SQLで順序を使用している場合、現在の順序の値を確認する方法を教えてください。
現在の順序の値を確認するには、CURRVALを使用してください。

(例)
 SELECT [順序名].CURRVAL FROM RDBII_SYSTEM.RDBII_ASSISTTABLE

CURRVALでは、現在の値に+1された値が返却されます。これは内部で強制的にNEXTVALが実行されているためです。

Symfoware Server V7以前の場合、現在値を取得する前に、手動でNEXTVALを実行してください。

(例)
 SELECT [順序名].NEXTVAL FROM RDBII_SYSTEM.RDBII_ASSISTTABLE
 SELECT [順序名].CURRVAL FROM RDBII_SYSTEM.RDBII_ASSISTTABLE

なお、2つのSQLは同一のトランザクションで実行してください。NEXTVALを実行しないでCURRVAを実行すると、以下のエラーになります。

 JYP2280E
 スキーマ[スキーマ名]の順序[順序名]のNEXTVALを取得していないためCURRVALを取得できません.

(注)上記の例で使用しているRDBII_ASSISTTABLEは、SQL文を簡易的に実行するための表です。この表には1の値を持つデータが1件格納されています。現在の時刻、CURRVAL値などを取得するSELECT文を実行する場合に利用できます。

製品・サービス区分 Symfoware
製品・サービス情報
対象製品 Symfoware Server (Native Interface)
プラットフォーム Windows, Solaris, Linux
アンサー種別 技術サポート
このページの先頭へ