5.2.3 受渡し値を格納したリストについての注意事項
(1) リストへの受渡し値の格納
段階的に対象レコードを絞り込む場合(絞込み検索をする場合),リストへ受渡し値を格納しておくことで,受渡し値受信関数の結果を高速に取得できます。
ASSIGN LIST文を使用して実表からリストを作成する場合の探索条件に,リストに受渡し値を格納できる受渡し値送信関数を指定することで,リストに受渡し値を格納できます(ただし,ASSIGN LIST文には,リストに受渡し値を格納できる受渡し値送信関数は二つ以上指定できません)。
プラグイン提供関数が,リストに受渡し値を格納できるかどうかについては,各種プラグインマニュアルを参照してください。
また,ASSIGN LIST文を使用して,受渡し値を格納したリストから,新たなリストに受渡し値を格納することもできます。
(2) リストからの受渡し値の取得
リストを介した検索のカーソル指定の選択式に,リストから受渡し値を取得できる受渡し値受信関数(リスト用受渡し値受信関数)を指定することで,受渡し値送信関数を指定しないで,リストに格納された受渡し値を取得できます。
プラグイン提供関数が,リストから受渡し値を取得できるかどうかについては,各種プラグインマニュアルを参照してください。
リストを介した検索のカーソル指定の選択式に,リストから受渡し値を取得できる受渡し値受信関数を指定した場合,HiRDBはリストに受渡し値を格納した受渡し値送信関数の種別を意識しないで受渡し値を取得します。そのため,必ずリストを作成したときに指定した,受渡し値送信関数に対応する受渡し値受信関数を指定してください。
(3) リスト間の集合演算実行方法の種類
リスト間の集合演算をする場合,リスト作成時に探索条件に指定した受渡し値送信関数によって,集合演算実行方法が変わります。
「リスト名1 {AND|OR|AND NOT|ANDNOT} リスト名2」の集合演算結果の受渡し値を次の表に示します。
リスト名1作成時の受渡し値送信関数※1 |
リスト名2作成時の受渡し値送信関数※1 |
|||
---|---|---|---|---|
リストに受渡し値を格納できる場合 |
そのほかの場合 |
|||
「絞込み対象受渡し値使用」指定あり |
集合演算方法の指定なし |
|||
リストに受渡し値を格納できる場合 |
「絞込み対象受渡し値使用」指定あり |
× |
× |
リスト名1の受渡し値※2 |
集合演算方法の指定なし |
× |
× |
× |
|
そのほかの場合 |
× |
× |
なし |
- (凡例)
-
×:実行できません。
- 注※1
-
集合演算方法の指定のある受渡し値送信関数については,各種プラグインマニュアルを参照してください。
- 注※2
-
OR演算結果で受渡し値がない場合は,ナル値となります。