1.2.5 長大データ使用上の注意事項
長大データを使用する場合の注意事項を次に示します。
(1) 長大データを使用できない項目
長大データは,次に示す項目では使用できません。
-
インデクスの定義
-
ソート
-
グループ分け
-
集合演算,四則演算
-
集合関数
-
重複排除
-
CASE式
-
CAST指定(ただし,CAST(NULL AS BLOB型)は指定できます)
-
ユーザ定義関数の引数中の外への参照列
ただし,抽象データ型の属性として定義で指定した長大データの場合,プラグイン機能を使用するとインデクスの定義に指定できます。また,長大データの連結演算は,UPDATE文のSET句の更新値以外では使用できません。
(2) スカラ関数
長大データが指定できるスカラ関数は,LENGTH関数,SUBSTR関数,及びPOSITION関数だけです。これ以外のスカラ関数では,長大データは使用できません。
(3) データの挿入,更新
長大データは,INSERT文,又はUPDATE文で定数を指定して,データを挿入,又は更新できません。
長大データを挿入する場合は,埋込み変数,?パラメタ,SQL変数,SQLパラメタ,スカラ関数SUBSTR,関数呼出し,及びNULLを使用します。更新する場合は,列指定,コンポネント指定,埋込み変数,?パラメタ,SQL変数,SQLパラメタ,連結演算,スカラ関数SUBSTR,関数呼出し,副問合せ,及びNULLを使用します。
(4) 位置付け子の利用
UAPで長大データを扱う場合には,位置付け子を用いることで,クライアント上にデータの実体を保持しないで,長大データを扱うSQLの処理ができます。位置付け子については「位置付け子(locator)」を参照してください。