1.6.4 指定できる箇所

埋込み変数標識変数?パラメタSQL変数,及びSQLパラメタを指定できる箇所を次の表に示します。

表1-16 変数及びパラメタを指定できる箇所

SQL文指定できる箇所埋込み変数標識変数?パラメタSQL変数又はSQLパラメタ
WRITE指定第1引数××××
第2引数,第3引数×
GET_JAVA_STORED_ROUTINE_SOURCE指定第1引数,第2引数
第3引数××××
DECLARE CURSOR探索条件中で定数が指定できる箇所1×
ALLOCATE CURSOR 形式1拡張カーソル名×××
拡張文名×××
ALLOCATE CURSOR 形式2拡張カーソル名×××
SELECT探索条件中で定数が指定できる箇所
INTO句×
INSERTVALUES句で定数が指定できる箇所
探索条件中で定数が指定できる箇所
UPDATESET句で定数が指定できる箇所
探索条件中で定数が指定できる箇所
準備可能動的UPDATE文:位置付けSET句で定数が指定できる箇所×××
DELETE探索条件中で定数が指定できる箇所
OPENUSING句×××
FETCHINTO句×
PREPARESQL文字列の箇所×××
拡張文名×××
DEALLOCATE PREPARE拡張文名×××
DESCRIBE拡張文名×××
DESCRIBE CURSOR拡張カーソル名×××
DESCRIBE TYPE拡張文名×××
EXECUTEINTO句××
USING句××
拡張文名×××
EXECUTE IMMEDIATESQL文字列の箇所×××
INTO句××
USING句××
CALL引数
代入文代入先及び代入値22
FREE LOCATOR位置付け子参照×××
CONNECT認可識別子,及びパスワード×××
RDノード指定CONNECT文RDノード名称×××
RDノード指定DISCONNECT文RDノード名称×××
SET CONNECTION文RDノード名称×××
SET SESSION AUTHORIZATION文認可識別子,及びパスワード×××
ALLOCATE CONNECTION HANDLE:PDCNCTHDL型変数,
:リターンコード受け取り変数,;接続PDHOST変数,及び接続PDNAMEPORT変数
×××
FREE CONNECTION HANDLE:PDCNCTHDL型変数,及び:リターンコード受け取り変数×××
DECLARE CONNECTION HANDLE SET:PDCNCTHDL型変数×××
GET DIAGNOSTICS文情報項目名,及び条件情報項目名×××
WRITE LINE文値式×××
(凡例)
○:指定できます。
×:指定できません。
注1
埋込み変数,及び標識変数は,UAP中で指定します。?パラメタは,PREPARE文で前処理するSQL文字列中に指定します。
外部ルーチン中のSQLパラメタは,SQLパラメタに対応した外部ルーチン本体のパラメタ変数指定で指定します。外部ルーチン本体のパラメタをSQLやルーチンに渡す場合,SQLパラメタとしてではなく,埋込み変数又は?パラメタとして指定します。外部ルーチン中にSQL変数は指定できません。
注2
選択式中には,埋込み変数,標識変数,及び?パラメタは指定できません。
ただし,次のような場合には,埋込み変数,標識変数,及び?パラメタを指定できます。
  • 関数呼出しの引数に指定した場合
  • スカラ関数SUBSTRの引数に指定した場合
指定方法については,「2.3 問合せ指定」を参照してください。
注3
埋込み変数,標識変数,及び?パラメタ間の四則演算及び比較演算は指定できません。
注4
集合関数の引数中に埋込み変数,標識変数,及び?パラメタは指定できません。
注5
スカラ関数HEXの引数中には,埋込み変数,標識変数,及び?パラメタは指定できません。
注6
VALUE,BIT_AND_TEST,SUBSTRの第2,第3引数,及びPOSITIONの第3引数を除くスカラ関数の引数には,埋込み変数,標識変数,及び?パラメタを単独(単項演算式に指定した場合も含む)で指定できません。ただし,SUBSTRの第1引数,LENGTHの引数,POSITIONの第1,第2引数にはAS データ型を記述すればBLOB型,又はBINARY型の場合だけ指定できます。
注7
日付演算,時刻演算,及び連結演算中には,埋込み変数,標識変数,及び?パラメタは指定できません。
注8
スカラ関数VALUEの最初の値式に,埋込み変数,標識変数,及び?パラメタを単独(単項演算式に指定した場合も含む)で指定できません。
注9
単純CASE式,又は探索CASE式のCASE,THEN,及びELSEの値式に,埋込み変数,標識変数,及び?パラメタを単独(単項演算式に指定した場合も含む)で指定できません。
注10
単純CASE指定中の最初のWHENの値式,COALESCEの最初の値式,又はNULLIFの両方の値式に,埋込み変数,標識変数,及び?パラメタを単独(単項演算式に指定した場合も含む)で指定できません。
注11
スカラ関数BIT_AND_TESTの両方の値式には,単独(単項演算式に指定した場合も含む)で埋込み変数,標識変数,及び?パラメタは指定できません。
注※1
選択式中のCASE式の探索条件を除きます。
ただし,関数呼出しの引数に指定した場合,その関数呼出しを選択式中のCASE式の探索条件に指定できます。
注※2
代入文(SET)の代入値に単独で埋込み変数,標識変数,及び?パラメタを指定する場合は必ずAS データ型を指定してください。