EGL get previous 文は、リレーショナル・データベース結果セットから直前の行を読み取るか、指定の EGL 索引付きレコードに関連付けられたファイル内の直前のレコードを読み取ります。
この文をリレーショナル・データベース結果セットに使用できるのは、関連する open 文で scroll オプションを指定した場合だけです。 scroll オプションを使用できるのは、Java™ で出力を生成している場合だけです。
索引付きレコードの例を次に示します。
record1.hexKey = "FF"; set record1 position; try get previous record1; onException myErrorHandler(8); return; end while (record1 not endOfFile) processRecord(record1); // データの処理 try get previous record1; onException myErrorHandler(8); return; end end
get previous 文の詳細は、索引付きレコードを使用しているか、あるいは、SQL 処理に関係しているかによって異なります。
1, 2, 2, 2, 3, 4
以下の各表は、同じ索引付きレコードに対して一連の EGL 文を実行する場合の効果を示しています。
次に示す 3 つの表は、EGL で生成された COBOL コードに適用されます。
EGL 文 (実行順) | 索引付きレコード内のキー | 文によって検索されるファイル・レコード内のキー | COBOL の場合の EGL エラー値 |
---|---|---|---|
get | 3 | 3 | ― |
get previous | any | 2 (3 つある内の最初のもの) | duplicate |
get previous | any | 2 (2 番目のもの) | duplicate |
get previous | any | 2 (3 番目のもの) | ― |
get previous | any | 1 | ― |
EGL 文 (実行順) | 索引付きレコード内のキー | 文によって検索されるファイル・レコード内のキー | COBOL の場合の EGL エラー値 |
---|---|---|---|
set record position 書式の set | 2 | ― | ― |
get next | any | 2 (最初のもの) | duplicate |
get next | any | 2 (2 番目のもの) | ― |
get previous | any | 1 | ― |
get previous | any | -- | endOfFile |
EGL 文 (実行順) | 索引付きレコード内のキー | 文によって検索されるファイル・レコード内のキー | COBOL の場合の EGL エラー値 |
---|---|---|---|
set record position 書式の set | 1 | -- | -- |
get previous | any | 1 | -- |
次に示す 3 つの表は、EGL で生成された Java コードに適用されます。
EGL 文 (実行順) | 索引付きレコード内のキー | 文によって検索されるファイル・レコード内のキー | Java の場合の EGL エラー値 |
---|---|---|---|
get | 3 | 3 | ― |
get previous | any | 2 (3 つある内の最初のもの) | duplicate |
get previous | any | 2 (2 番目のもの) | duplicate |
get previous | any | 2 (3 番目のもの) | ― |
get previous | any | 1 | ― |
EGL 文 (実行順) | 索引付きレコード内のキー | 文によって検索されるファイル・レコード内のキー | Java の場合の EGL エラー値 |
---|---|---|---|
set record position 書式の set | 2 | ― | duplicate |
get next | any | 2 (最初のもの) | ― |
get next | any | 2 (2 番目のもの) | duplicate |
get previous | any | 1 | ― |
get previous | any | -- | endOfFile |
EGL 文 (実行順) | 索引付きレコード内のキー | 文によって検索されるファイル・レコード内のキー | Java の場合の EGL エラー値 |
---|---|---|---|
set record position 書式の set | 1 | -- | -- |
get previous | any | 1 | -- |
SQL FETCH ステートメントは、生成されたコードでは EGL get previous ステートメントを表します。生成される SQL ステートメントの形式は、INTO 文節の設定以外は変更できません。
一般に、エラーが発生して処理が続行された場合、カーソルは開いたままで残り、カーソル位置は変更されません。
最終的に、SQL COMMIT または sysLib.commit が指定された場合、open ステートメントで hold オプションを使用したときにのみ、open ステートメントで宣言されていたカーソル内の位置がコードにより保存されます。
関連する概念
レコード・タイプとプロパティー
関連するタスク
構文図