5.11.3 配列を使用した機能
(1) 配列を使用したFETCH機能
FETCH文のINTO句に配列型の埋込み変数を指定すると,検索結果を一度に複数行取得できます。HiRDBクライアントからHiRDBサーバにアクセスし,大量のデータを検索する場合に配列を使用したFETCH機能を使用すると,検索性能を向上できます。ブロック転送機能とは異なり,複数行の検索結果を取得することをプログラム内で明示的に記述します。また,配列を使用したFETCHはINTO句に指定した埋込み変数と標識変数がすべて配列型の変数の場合に有効です。配列を使用したFETCH機能については,マニュアル「HiRDB Version 9 UAP開発ガイド」を参照してください。
(2) 配列を使用したINSERT機能
INSERT文を実行する場合,複数行分のデータを設定した配列型の変数を指定すると,一つのSQL文で複数行分のデータを挿入できます。配列を使用したINSERT機能を使用すると,HiRDBクライアントとHiRDBサーバとの間の通信回数を削減できます。また,HiRDB/パラレルサーバの場合には,更にHiRDBサーバ内のサーバ間の通信回数も削減できます。そのため,HiRDBクライアントからHiRDBサーバにアクセスし,大量のデータを高速に挿入したい場合に有効となります。
- 配列を使用したINSERT機能の使用方法
-
- 静的に実行する場合
-
INSERT文でFOR句に埋込み変数を指定し,かつVALUES句に指定した埋込み変数と標識変数をすべて配列型の変数にしてください。一括して挿入する行数は,FOR句に指定した埋込み変数で制御します。
- 動的に実行する場合
-
次に示す手順で実行してください。
-
PREPARE文で,INSERT文(VALUES句のすべての挿入値に?パラメタを指定)を前処理します。
-
EXECUTE文のUSING句に,前処理したINSERT文の入力?パラメタに与える値を配列で指定し,かつBY句に埋込み変数を指定してください。一括して挿入する行数は,BY句に指定した埋込み変数で制御します。
-
配列を使用したINSERT機能については,マニュアル「HiRDB Version 9 UAP開発ガイド」を参照してください。
(3) 配列を使用したUPDATE機能
UPDATE文を実行する場合,複数回分のデータを設定した配列型の変数を指定すると,一つのSQL文で複数回分の表の列を更新できます。HiRDBクライアントとHiRDBサーバとの間の通信回数を削減できるため,HiRDBクライアントからHiRDBサーバにアクセスし,大量データを高速に更新する場合に有効です。
- 配列を使用したUPDATE機能の使用方法
-
- 静的に実行する場合
-
UPDATE文で,FOR句に埋込み変数を指定し,かつ探索条件中に指定した埋込み変数と標識変数をすべて配列型の変数にしてください。一括して更新する回数は,FOR句に指定した埋込み変数で制御します。
- 動的に実行する場合
-
次に示す手順で実行してください。
-
PREPARE文で,UPDATE文(更新値や探索条件中に?パラメタを指定)を前処理します。
-
EXECUTE文のUSING句に,前処理したUPDATE文の入力?パラメタに与える値を配列で指定し,かつBY句に埋込み変数を指定してください。一括して更新する回数は,BY句に指定した埋込み変数で制御します。
-
配列を使用したUPDATE機能については,マニュアル「HiRDB Version 9 UAP開発ガイド」を参照してください。
(4) 配列を使用したDELETE機能
DELETE文を実行する場合,複数回分のデータを設定した配列型の変数を指定すると,一つのSQL文で複数回分の行の削除ができます。HiRDBクライアントとHiRDBサーバとの間の通信回数を削減できるため,HiRDBクライアントからHiRDBサーバにアクセスし,大量データを高速に削除する場合に有効です。
- 配列を使用したDELETE機能の使用方法
-
- 静的に実行する場合
-
DELETE文で,FOR句に埋込み変数を指定し,かつ探索条件中に指定した埋込み変数と標識変数をすべて配列型の変数にしてください。一括して削除する回数は,FOR句に指定した埋込み変数で制御します。
- 動的に実行する場合
-
次に示す手順で実行してください。
-
PREPARE文で,DELETE文(探索条件中に?パラメタを指定)を前処理します。
-
EXECUTE文のUSING句に,前処理したDELETE文の入力?パラメタに与える値を配列で指定し,かつBY句に埋込み変数を指定してください。一括して削除する回数は,BY句に指定した埋込み変数で制御します。
-
配列を使用したDELETE機能については,マニュアル「HiRDB Version 9 UAP開発ガイド」を参照してください。