DBMS_SQL

DBMS_SQLパッケージは、動的SQLを使用して次のいずれかを実行する場合のインタフェースを提供します。

  • データ操作言語(DML)およびデータ定義言語(DDL)文を実行します。

  • 無名PL/SQLブロックを実行します。

  • PL/SQLストアド・プロシージャおよびファンクションをコールします。

このパッケージは、事前定義されたデータ型、およびUROWID、タイムゾーン機能、ADT、データベースレベルのコレクション、エディションのオーバーロードなどの、TimesTenでサポートされていないデータ型によるオーバーロードをサポートしていません。TimesTenのPL/SQLでのサポートされているデータ型の詳細は、「データ型環境の理解」を参照してください。

表7-6に、DBMS_SQLのサブプログラムを示します。

表7-6 DBMS_SQLのサブプログラム

サブプログラム 説明

BIND_ARRAYプロシージャ

指定された値を指定されたコレクションにバインドします。

BIND_VARIABLEプロシージャ

指定された値を指定された変数にバインドします。

CLOSE_CURSORプロシージャ

指定されたカーソルをクローズしてメモリーを解放します。

COLUMN_VALUEプロシージャ

カーソル内の指定された位置のカーソル要素の値を戻します。

COLUMN_VALUE_LONGプロシージャ

DEFINE_COLUMN_LONGで定義したLONG列の選択された部分を戻します。

重要: TimesTenではLONGデータ・タイプはサポートされていないため、TimesTenでこのプロシージャを使用しようとすると、実行時にORA-01018エラーが発生します。

DEFINE_ARRAYプロシージャ

指定されたカーソルから選択するコレクションを定義します。SELECT文とともに使用します。

DEFINE_COLUMNプロシージャ

指定されたカーソルから選択する列を定義します。SELECT文とともに使用します。

DEFINE_COLUMN_LONGプロシージャ

指定したカーソルから選択するLONG列を定義します。SELECT文とともに使用します。

重要: TimesTenではLONGデータ・タイプはサポートされていないため、TimesTenでCOLUMN_VALUE_LONGプロシージャを使用しようとすると、実行時にORA-01018エラーが発生します。DEFINE_COLUMN_LONGは、COLUMN_VALUE_LONGと一緒に使用されます。

DESCRIBE_COLUMNSプロシージャ

DBMS_SQLパッケージでオープンして解析したカーソルの列を示します。

DESCRIBE_COLUMNS2プロシージャ

指定された列を示します。DESCRIBE_COLUMNSプロシージャのかわりとして使用します。

DESCRIBE_COLUMNS3プロシージャ

指定された列を示します。DESCRIBE_COLUMNSプロシージャのかわりとして使用します。

EXECUTEファンクション

指定されたカーソルを実行します。

EXECUTE_AND_FETCHファンクション

指定されたカーソルを実行して行をフェッチします。

FETCH_ROWSファンクション

指定されたカーソルから行をフェッチします。

IS_OPENファンクション

指定されたカーソルがオープンしている場合は、TRUEを戻します。

LAST_ERROR_POSITIONファンクション

エラーが発生したSQL文テキスト内のバイト・オフセットを戻します。

LAST_ROW_COUNTファンクション

フェッチされた行の累積数を戻します。

LAST_ROW_IDファンクション

NULLを戻します。TimesTenでは、DML文によって最後に処理された行のROWIDはサポートされていません。

LAST_SQL_FUNCTION_CODEファンクション

文のSQL機能コードを戻します。

OPEN_CURSORファンクション

新しいカーソルのカーソルID番号を戻します。

PARSEプロシージャ

指定された文を解析します。

TO_CURSOR_NUMBERファンクション

OPENによってオープンされた強い型指定のREF CURSOR、または弱い型指定のREF CURSORを取得し、DBMS_SQLカーソル番号に変換します。

TO_REFCURSORファンクション

OPENPARSEおよびEXECUTEによってオープン、解析および実行されたカーソルを取得し、PL/SQLのネイティブ動的SQLで使用したり、ネイティブ動的SQLを使用するよう切り替えることができる、PL/SQLで管理可能なREF CURSOR(弱い型指定のカーソル)に変換または移行します。

VARIABLE_VALUEプロシージャ

指定されたカーソルの名前付き変数の値を戻します。