DBMS_SQL モジュール

DBMS_SQL モジュールは、動的 SQL を実行するための一連のプロシージャーを提供します。したがって、さまざまなデータ操作言語 (DML) ステートメントやデータ定義言語 (DDL) ステートメントをサポートします。

このモジュールのスキーマは SYSIBMADM です。

DBMS_SQL モジュールには、以下の組み込みルーチンが含まれています。

表 1. DBMS_SQL モジュールで使用可能な組み込みルーチン
プロシージャー名 説明
BIND_VARIABLE_BLOB プロシージャー IN または INOUT パラメーターの入力 BLOB 値を提供します。また、INOUT または OUT パラメーターの出力値のデータ・タイプを BLOB と定義します。
BIND_VARIABLE_CHAR プロシージャー IN または INOUT パラメーターの入力 CHAR 値を提供します。また、INOUT または OUT パラメーターの出力値のデータ・タイプを CHAR と定義します。
BIND_VARIABLE_CLOB プロシージャー IN または INOUT パラメーターの入力 CLOB 値を提供します。また、INOUT または OUT パラメーターの出力値のデータ・タイプを CLOB と定義します。
BIND_VARIABLE_DATE プロシージャー IN または INOUT パラメーターの入力 DATE 値を提供します。また、INOUT または OUT パラメーターの出力値のデータ・タイプを DATE と定義します。
BIND_VARIABLE_DOUBLE プロシージャー IN または INOUT パラメーターの入力 DOUBLE 値を提供します。また、INOUT または OUT パラメーターの出力値のデータ・タイプを DOUBLE と定義します。
BIND_VARIABLE_INT プロシージャー IN または INOUT パラメーターの入力 INTEGER 値を提供します。また、INOUT または OUT パラメーターの出力値のデータ・タイプを INTEGER と定義します。
BIND_VARIABLE_NUMBER プロシージャー IN または INOUT パラメーターの入力 DECFLOAT 値を提供します。また、INOUT または OUT パラメーターの出力値のデータ・タイプを DECFLOAT と定義します。
BIND_VARIABLE_RAW プロシージャー IN または INOUT パラメーターの入力 BLOB(32767) 値を提供します。また、INOUT または OUT パラメーターの出力値のデータ・タイプを BLOB(32767) と定義します。
BIND_VARIABLE_TIMESTAMP プロシージャー IN または INOUT パラメーターの入力 TIMESTAMP 値を提供します。また、INOUT または OUT パラメーターの出力値のデータ・タイプを TIMESTAMP と定義します。
BIND_VARIABLE_VARCHAR プロシージャー IN または INOUT パラメーターの入力 VARCHAR 値を提供します。また、INOUT または OUT パラメーターの出力値のデータ・タイプを VARCHAR と定義します。
CLOSE_CURSOR プロシージャー カーソルをクローズします。
COLUMN_VALUE_BLOB プロシージャー タイプ BLOB の列の値を取り出します。
COLUMN_VALUE_CHAR プロシージャー タイプ CHAR の列の値を取り出します。
COLUMN_VALUE_CLOB プロシージャー タイプ CLOB の列の値を取り出します。
COLUMN_VALUE_DATE プロシージャー タイプ DATE の列の値を取り出します。
COLUMN_VALUE_DOUBLE プロシージャー タイプ DOUBLE の列の値を取り出します。
COLUMN_VALUE_INT プロシージャー タイプ INTEGER の列の値を取り出します。
COLUMN_VALUE_LONG プロシージャー タイプ CLOB(32767) の列の値を取り出します。
COLUMN_VALUE_NUMBER プロシージャー タイプ DECFLOAT の列の値を取り出します。
COLUMN_VALUE_RAW プロシージャー タイプ BLOB(32767) の列の値を取り出します。
COLUMN_VALUE_TIMESTAMP プロシージャー タイプ TIMESTAMP の列の値を取り出します。
COLUMN_VALUE_VARCHAR プロシージャー タイプ VARCHAR の列の値を取り出します。
DEFINE_COLUMN_BLOB プロシージャー 列のデータ・タイプを BLOB と定義します。
DEFINE_COLUMN_CHAR プロシージャー 列のデータ・タイプを CHAR と定義します。
DEFINE_COLUMN_CLOB プロシージャー 列のデータ・タイプを CLOB と定義します。
DEFINE_COLUMN_DATE プロシージャー 列のデータ・タイプを DATE と定義します。
DEFINE_COLUMN_DOUBLE プロシージャー 列のデータ・タイプを DOUBLE と定義します。
DEFINE_COLUMN_INT プロシージャー 列のデータ・タイプを INTEGER と定義します。
DEFINE_COLUMN_LONG プロシージャー 列のデータ・タイプを CLOB(32767) と定義します。
DEFINE_COLUMN_NUMBER プロシージャー 列のデータ・タイプを DECFLOAT と定義します。
DEFINE_COLUMN_RAW プロシージャー 列のデータ・タイプを BLOB(32767) と定義します。
DEFINE_COLUMN_TIMESTAMP プロシージャー 列のデータ・タイプを TIMESTAMP と定義します。
DEFINE_COLUMN_VARCHAR プロシージャー 列のデータ・タイプを VARCHAR と定義します。
DESCRIBE_COLUMNS プロシージャー カーソルによって取り出された列の記述を戻します。
DESCRIBE_COLUMNS2 プロシージャー 32 文字より大きい列名が許可される点以外は DESCRIBE_COLUMNS と同じです。
EXECUTE プロシージャー カーソルを実行します。
EXECUTE_AND_FETCH プロシージャー カーソルを実行し、1 行をフェッチします。
FETCH_ROWS プロシージャー カーソルから行をフェッチします。
IS_OPEN 関数 カーソルがオープンされているかどうかを検査します。
IS_OPEN プロシージャー カーソルがオープンされているかどうかを検査します。
LAST_ROW_COUNT プロシージャー フェッチされた行の総数を戻します。
OPEN_CURSOR プロシージャー カーソルをオープンします。
PARSE プロシージャー DDL ステートメントを解析します。
VARIABLE_VALUE_BLOB プロシージャー INOUT または OUT パラメーターの値を BLOB として取り出します。
VARIABLE_VALUE_CHAR プロシージャー INOUT または OUT パラメーターの値を CHAR として取り出します。
VARIABLE_VALUE_CLOB プロシージャー INOUT または OUT パラメーターの値を CLOB として取り出します。
VARIABLE_VALUE_DATE プロシージャー INOUT または OUT パラメーターの値を DATE として取り出します。
VARIABLE_VALUE_DOUBLE プロシージャー INOUT または OUT パラメーターの値を DOUBLE として取り出します。
VARIABLE_VALUE_INT プロシージャー INOUT または OUT パラメーターの値を INTEGER として取り出します。
VARIABLE_VALUE_NUMBER プロシージャー INOUT または OUT パラメーターの値を DECFLOAT として取り出します。
VARIABLE_VALUE_RAW プロシージャー INOUT または OUT パラメーターの値を BLOB(32767) として取り出します。
VARIABLE_VALUE_TIMESTAMP プロシージャー INOUT または OUT パラメーターの値を TIMESTAMP として取り出します。
VARIABLE_VALUE_VARCHAR プロシージャー INOUT または OUT パラメーターの値を VARCHAR として取り出します。

次の表は、DBMS_SQL モジュールで使用可能な組み込みタイプと定数を示しています。

表 2. DBMS_SQL での組み込みタイプと定数
名前 タイプまたは定数 説明
DESC_REC タイプ 列情報のレコード。
DESC_REC2 タイプ 列情報のレコード。
DESC_TAB タイプ タイプ DESC_REC のレコードの配列。
DESC_TAB2 タイプ タイプ DESC_REC2 のレコードの配列。
NATIVE 定数 PARSE プロシージャーの language_flag パラメーターに対して唯一サポートされる値。

使用上の注意

DBMS_SQL モジュールのルーチンは、動的 SQL ステートメントを構成および実行する際に役立ちます。 例えば、「ALTER TABLE」や「DROP TABLE」などの DDL ステートメントや DML ステートメントを実行する、SQL ステートメントをオンザフライで構成して実行したり、動的 SQL を使用する関数を SQL ステートメント内から呼び出す場合に便利です。