DBMS_SQL モジュール
DBMS_SQL モジュールは、動的 SQL を実行するための一連のプロシージャーを提供します。したがって、さまざまなデータ操作言語 (DML) ステートメントやデータ定義言語 (DDL) ステートメントをサポートします。
このモジュールのスキーマは SYSIBMADM です。
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 モジュールで使用可能な組み込みタイプと定数を示しています。
| 名前 | タイプまたは定数 | 説明 |
|---|---|---|
| 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 ステートメント内から呼び出す場合に便利です。