スケーラブルデータベースサーバ HiRDB Version 8 SQLリファレンス

[目次][索引][前へ][次へ]

代入文 形式2(埋込み変数,又は?パラメタへの値の代入

機能

埋込み変数,又は?パラメタに値を代入します。

使用権限

なし。

形式 <埋込み変数,又は?パラメタへの代入>

 
 SET  代入先 = 代入値
 代入先::={:埋込み変数〔:標識変数〕| ?パラメタ}
 代入値::={:埋込み変数〔:標識変数〕ASデータ型 
        |?パラメタASデータ型 
        |LENGTH(値式)
        |SUBSTR(値式1,値式2 〔,値式3〕)
        |POSITION(値式1 IN値式2 〔FROM値式3〕)}
 

オペランド

値を代入する埋込み変数,又は?パラメタを指定します。

代入する値を指定します。

:埋込み変数〔:標識変数〕 ASデータ型
指定できるデータ型はBLOB型,又はBINARY型だけです。AS句で埋込み変数のデータ型を指定してください。このとき,埋込み変数で与えるデータの実長(位置付け子の場合は位置付け子に割り当てられたデータの実長)がAS句で指定したデータ型の最大長より大きい場合はエラーとなります。

?パラメタASデータ型
指定できるデータ型はBLOB型,又はBINARY型だけです。AS句で?パラメタのデータ型を指定してください。このとき,?パラメタに与えるデータの実長(位置付け子の場合は位置付け子に割り当てられたデータの実長)がAS句で指定したデータ型の最大長より大きい場合はエラーとなります。

LENGTH(値式)

SUBSTR(値式1,値式2,〔値式3〕)

POSITION(値式1 IN値式2 〔FROM値式3〕)
スカラ関数LENGTHの値式,スカラ関数SUBSTRの値式1,及びスカラ関数POSITIONの値式2に指定できるデータ型はBLOB型,又はBINARY型だけです。指定できるものは埋込み変数,?パラメタだけです。そのほかの指定方法は各スカラ関数の規則に従ってください。

共通規則

  1. 代入先のデータ型は,代入値のデータ型と互換性がなければなりません。
  2. 代入先と代入値のデータ型が異なる場合には型変換され,同じ場合にはそのまま代入値が代入先に代入されます。
  3. 代入値に指定する値式中に,以下のものは指定できません。
    • 列指定
    • コンポネント指定
    • スカラ副問合せ

留意事項

  1. 代入文の形式2はSQLルーチン中には指定できません。SQLルーチン中に代入文を指定する場合は,代入文の形式1を指定してください。

使用例

BLOB位置付け子の埋込み変数(XLOC)に割り当てられたBLOBデータの一部をBLOB型の埋込み変数(XDATA)に代入します。

 
SET :XDATA = SUBSTR(:XLOC AS BLOB(1M), 100, 1024)