1.6.4 指定できる箇所
埋込み変数,標識変数,?パラメタ,SQL変数,及びSQLパラメタを指定できる箇所を次の表に示します。
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句 |
○ |
○ |
× |
○ |
|
INSERT |
VALUES句で定数が指定できる箇所 |
○ |
○ |
○ |
○ |
探索条件中で定数が指定できる箇所 |
○ |
○ |
○ |
○ |
|
UPDATE |
SET句で定数が指定できる箇所 |
○ |
○ |
○ |
○ |
探索条件中で定数が指定できる箇所 |
○ |
○ |
○ |
○ |
|
準備可能動的UPDATE文:位置付け |
SET句で定数が指定できる箇所 |
× |
× |
○ |
× |
DELETE |
探索条件中で定数が指定できる箇所 |
○ |
○ |
○ |
○ |
OPEN |
USING句 |
○ |
× |
× |
× |
FETCH |
INTO句 |
○ |
○ |
× |
○ |
PREPARE |
SQL文字列の箇所 |
○ |
× |
× |
× |
拡張文名 |
○ |
× |
× |
× |
|
DEALLOCATE PREPARE |
拡張文名 |
○ |
× |
× |
× |
DESCRIBE |
拡張文名 |
○ |
× |
× |
× |
DESCRIBE CURSOR |
拡張カーソル名 |
○ |
× |
× |
× |
DESCRIBE TYPE |
拡張文名 |
○ |
× |
× |
× |
EXECUTE |
INTO句 |
○ |
○ |
× |
× |
USING句 |
○ |
○ |
× |
× |
|
拡張文名 |
○ |
× |
× |
× |
|
EXECUTE IMMEDIATE |
SQL文字列の箇所 |
○ |
× |
× |
× |
INTO句 |
○ |
○ |
× |
× |
|
USING句 |
○ |
○ |
× |
× |
|
CALL |
引数 |
○ |
○ |
○ |
○ |
代入文 |
代入先及び代入値 |
○※2 |
○ |
○※2 |
○ |
FREE LOCATOR |
位置付け子参照 |
○ |
× |
× |
× |
CONNECT |
認可識別子,及びパスワード |
○ |
× |
× |
× |
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の引数に指定した場合
指定方法については,「問合せ指定」を参照してください。
-
- 注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 データ型を指定してください。