Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

7.107.1 SELECT のパラメータ

END_FILE

FIELDS

FROM_FILE

GENERIC

IO_ERROR

IO_STATUS

ISSUE_MSG

LOCK

NBR_KEYS

OPTIONS

RETURN_RRN

VAL_ERROR

WHERE

WITH_KEY

RET_UPDID


Anchor
FIELDS
FIELDS
FIELDS

ファイル内のレコードから選択するフィールド、または選択するフィールドを指定するグループの名前を指定します。または、このパラメータに拡張可能なグループ式を入力することもできます。 ファイル内のレコードから選択するフィールド、または選択するフィールドを指定するグループの名前を指定します。または、このパラメータに拡張可能なグループ式を入力することもできます。
以下の特別な値を指定できます。

  • *ALLを指定した場合、現在アクティブなファイルのすべてのフィールドが選択されます。
  • *ALL_REALを指定した場合、現在アクティブなファイルのすべての実フィールドが選択されます。
  • *ALL_VIRTを指定した場合、現在アクティブなファイルのすべての仮想フィールドが選択されます。
  • *EXCLUDINGを指定した場合、この特別な値に続けて指定するフィールドがフィールド・リストから除外されます。
  • *INCLUDINGを指定した場合、この特別な値に続けて指定するフィールドがフィールド・リストに含められます。この特殊な値は、*EXCLUDINGエントリーによって、フィールド・リストが除外モードに移行した後にのみ必要です。
Note

注:注意:OTHERによって保守されている論理ファイルからすべてのフィールドを選択すると、基になっている物理ファイルのすべてのフィールドがフィールド・リストに含められます。

...

BLOBとCLOBフィールドを使用する場合に、それらのフィールドを他のフィールドとは別のファイルに配置してメイン・ファイルと同じキーを使用する設計をお勧めします。これによりプログラマは、BLOBやCLOBデータのアクセスに別々のI/O操作を行わなければならなくなり、このデータの無差別な使用によるデータベース・パフォーマンス上の影響を軽減することができます。またこれは最も移植性の高い設計で、BLOB以外またはCLOB以外のデータに常に迅速にアクセスできるようになります。 

Anchor
FROM_FILE
FROM_FILE
FROM_FILE

...

I/Oコマンドでのファイル名の指定」を参照してください。

Anchor
WHERE
WHERE
WHERE

「条件および式の指定」および「I/OコマンドでのWHEREパラメータの指定」を参照してください。条件および式の指定」および「I/OコマンドでのWHEREパラメータの指定」を参照してください。

SELECT/ENDSELECTループでWHERE条件を使用した後のフィールドの内容は予測できません。WHERE条件に一致するレコードのみがSELECT/ENDSELECTループで処理されます。 

Anchor
WITH_KEY

...

WITH_KEY
WITH_KEY

I/Oコマンドでのファイル・キー・リストの指定」を参照してください。

Anchor
NBR_KEYS
NBR_KEYS
NBR_KEYS

このパラメータをWITH_KEYパラメータと組み合わせて使用すると、レコードを取得するために実際に使用されるキー・フィールドの数を実行時に変更することができます。 

...

キーの数を決定するためのロジックは以下のように動作します。 

<n>を、WITH_KEYパラメータで指定されたフィールド数に設定 KEYパラメータで指定されたフィールド数に設定 
Dowhile nが0より大きく、keyfield(n)が*NULLまたは*SQLNULL nから1を引く Endwhile SQLNULL 
nから1を引く 
Endwhile 
<キーの数>を<n>に設定
 

各フィールド・タイプにおける*NULL値の定義については、「7.12.1 CHANGE のパラメータ」を参照してください。

直接的なRDMLロジックによってキー・フィールドの数を変化させる場合は、このパラメータに数値フィールドの名前を指定します。指定するフィールドには、実行時にキー数の値が保持されていなければなりません。指定するフィールドは、数値タイプで、このファンクションまたはデータ・ディクショナリで定義されていなければなりません。 

...

SELECTコマンドの実行時にNBR_KEYSフィールドが0に設定されていると、事実上、選択においてWITH_KEYパラメータ全体が無視されます。 

詳細については、使用例を参照してください。 

Anchor
GENERIC
GENERIC
GENERIC

総称検索を要求するかどうかを指定します。総称検索では、検索キーとファイル・キーとの比較時にキー値のブランク以外または0以外の部分のみが使用されるため、全キー検索または部分キー検索とは異なります。 

...

移植性に関する考慮事項

ネイティブI/Oを使用する場合、総称的に検索キーに一致しないキーが検出されると、暗黙的に*ENDWHEREが使用されます。アプリケーションが要求どおりに機能することを検査によって確認する必要があります。

Anchor
IO_STATUS
IO_STATUS
IO_STATUS

I/O操作の結果の「戻りコード」を受け取るフィールドの名前を指定します。 

...

戻りコードを受け取るフィールドとしてユーザー・フィールドを指定する場合、このフィールドは、長さ2文字の英数字フィールドである必要があります。ユーザー・フィールドを指定した場合も、特別なフィールド#IO$STSは更新されます。 値については、「RDML I/O戻りコード」を参照してください。

値については、「RDML I/O戻りコード」を参照してください。

Anchor
IO_ERROR
IO_ERROR
IO_ERROR

コマンドの実行時にI/Oエラーが発生した場合に実行するアクションを指定します。 

...

上記の値をどれも使用しない場合は、制御を渡す先の有効なコマンド・ラベルを指定してください。 

Anchor
VAL_ERROR
VAL_ERROR
VAL_ERROR

このコマンドで妥当性検査エラーが検出された場合に実行するアクションを指定します。 

...

Info

*LASTDISは、「直前の表示画面」がない場合(バッチ・ファンクション内など)でも有効です。この場合、ファンクションが異常終了し、該当するエラー・メッセージが発行されます。

*LASTDISを使用する場合、「直前の表示画面」は、データベース・コマンド(INSERT、UPDATE、DELETE、FETCH、およびSELECT)と同じレベルでなければなりません。データベース・コマンドがSUBROUTINE内で指定され、「直前の表示画面」が呼び出し元ルーチンまたはメインラインの場合など、レベルが異なるとこのファンクションは異常終了し、該当するエラー・メッセージが発行されます。

これは、Visual LANSAでイベント・ルーチンとメソッド・ルーチンを使用する場合には当てはまりません。これらの場合、制御は呼び出しルーチンに戻されます。フィールドには、エラーがあることと、フォームの親階層で見つかった最初のステータス・パーに返されたメッセージが表示されます。または、メッセージがない場合は、実行スタック内で見つかったステータス・バーを持つ最初のフォーム(PRIM_OBJTから継承した再利用可能パーツなど)が表示されます。 

Anchor
END_FILE
END_FILE
END_FILE

「ファイルの末尾」に到達した場合の処理を指定します。「ファイルの末尾」とは、選択条件に一致する最後のレコードの処理が完了したことを表し、必ずしもファイル内の最後のレコードが処理されたことを意味するわけではありません。 

...

SELECTループを終了するタイミングを決定するために追加のレコードが読み取られるため、SELECTループ終了時の値が予期した値と異なる場合があります。 

Anchor
ISSUE_MSG
ISSUE_MSG
ISSUE_MSG

「ファイルの終わり」メッセージを自動的に発行するかどうかを指定します。 

...

*NO以外に指定できる値は*YESのみです。この値を指定すると、メッセージが自動的に発行されます。メッセージは、ユーザーに表示される次の画面形式の22/24行目、またはバッチ・ジョブのジョブ・ログに表示されます。 

Anchor
LOCK
LOCK
LOCK

レコードを読み取る際に、そのレコードをロックするかどうかを指定します。 

...

*YESを指定した場合は、レコードがロックされます。ロックしたレコードは、後でユーザーの責任により解放してください。 

Note

注:注意:LOCK(*YES)は、レコード・レベルのロックを実行します。これにより、オペレーティング・システム内およびオペレーティング・システム間の動作(コミット制御による複数レコードのロック、デフォルトの待機時間など)が変化する場合があります。そのため、LOCK_OBJECT組み込み関数を使用して、適切かつ完全な「ユーザー・オブジェクト」のロック・プロトコルを開発することをお勧めします。

移植性に関する考慮事項

可搬性のあるアプリケーションではサポートされないため、使用しないでください。Visual LANSAで使用すると、ビルド警告が生成されます。

Anchor
RETURN_RRN
RETURN_RRN
RETURN_RRN

選択されたレコードの相対レコード番号を返す先のフィールドの名前を指定します。 

このパラメータで指定するフィールドは、数値タイプで、このファンクションまたはLANSAデータ・ディクショナリで定義されていなければなりません。 

Note

注:注意:OPTIONS(*BLOCKnnn)を使用した場合にこのパラメータで返される値は、読み取られたばかりのレコード・ブロック内で最後のレコードの相対レコード番号を表し、必ずしもSELECT/ENDSELECTループで処理されているレコードの番号ではないため、役に立たない場合がほとんどです。 

詳細については、『Visual LANSA開発者ガイド』「外部ファイルの読み込み」を参照してください。の「インポート・テーブル定義」を参照してください。

Anchor
OPTIONS
OPTIONS
OPTIONS

ファイルのレコードを処理する際に使用できる特別なオプションを1~4個指定します。指定できる特別なオプションは以下のとおりです。 

...

移植性に関する考慮事項

可搬性のあるアプリケーションではサポートされないため、使用しないでください。Visual LANSAで使用すると、全構文検査で致命的エラーが発行されます。*BLOCKnnnオプションは無視されるため、アプリケーションには何の効果もありません。

Anchor
RET_UPDID
RET_UPDID
RET_UPDID

選択した行の更新 ID 列を返すフィールドの名前を指定します。

...