Hitachi

ノンストップデータベース HiRDB Version 10 SQLリファレンス


4.15.1 DESCRIBE文 形式2の形式と規則

〈この項の構成〉

(1) 機能

PREPARE文で前処理したSQLの入力?パラメタ情報をSQL記述領域(データコード,データ長など)に受け取ります。

受け取り情報の詳細は,マニュアル「HiRDB UAP開発ガイド」を参照してください。PREPARE文で前処理したSQLが入力?パラメタ情報を持たない場合には,SQL記述領域のSQLD領域に0が設定されます。

(2) 使用権限

なし。

(3) 形式2 <入力?パラメタ情報の受け取り>

 DESCRIBE INPUT {SQL文識別子|拡張文名} INTO
       〔:〕SQL記述領域名〔〔:〕列名記述領域名〕
       〔CHARACTER_SET〔:〕文字集合名記述領域名〕

(4) オペランド

(a) {SQL文識別子|拡張文名}

SQL文識別子

PREPARE文で指定したSQL文識別子を指定します。

拡張文名

PREPARE文で前処理したSQL文を識別する拡張文名を指定します。

拡張文名については,「拡張文名」を参照してください。

(b) 〔:〕SQL記述領域名〔〔:〕列名記述領域名〕

SQL記述領域名

入力?パラメタ情報を受け取るSQL記述領域の名称を指定します。

SQL記述領域については,マニュアル「HiRDB UAP開発ガイド」を参照してください。

列名記述領域名

検索項目の名称,又はルーチンのパラメタ名を受け取る列名記述領域を指定します。

列名記述領域については,マニュアル「HiRDB UAP開発ガイド」を参照してください。

(c) 〔CHARACTER_SET〔:〕文字集合名記述領域名〕

文字集合名記述領域名

入力?パラメタ情報の文字集合名を受け取る文字集合名記述領域を指定します。

文字集合名記述領域については,マニュアル「HiRDB UAP開発ガイド」を参照してください。

(5) 共通規則

  1. UAPは,DESCRIBE文を実行する前に,SQL記述領域にSQLVARの数(SQLN領域)を設定してください。

  2. SQLDATAとSQLINDはDESCRIBE文実行時にクリアされるので,DESCRIBE文を使用する場合は,その実行後に値を設定してください。

  3. 列名記述領域名を指定する場合は,対応するPREPARE文でWITH SQLNAME OPTIONを指定してください。

  4. 列名記述領域名は,検索項目の名称,又はルーチンのパラメタ名を受け取る場合だけ指定してください。ただし,ルーチンのパラメタ名は,CALL文の引数に単独で?パラメタを指定した場合にだけ受け取ることができます。?パラメタを含む値式を指定した場合は,列名記述領域の名称の長さが0になります。

  5. 文字集合名記述領域は,入力?パラメタ情報のデータ型が文字データ型で,文字集合を指定している場合だけ指定してください。

(6) 留意事項

  1. SQL文識別子は,埋込み変数名と同様に,コンパイル単位のファイル内で有効な名前であり,同じSQL文識別子に対する複数のSQLを,複数のモジュールにわたって使用できません。

  2. DESCRIBE INPUT文を使用しなくても,PREPARE文でINPUTを指定した場合,DESCRIBE INPUTで得られる情報と同様の情報を得ることができます。