DBMS_DESCRIBEDBMS_DESCRIBEパッケージでは、PL/SQLオブジェクトに関する情報を取得できます。オブジェクト名を指定すると、DBMS_DESCRIBEは結果を含む索引表のセットを戻します。名前変換が完全に実行され、目的のオブジェクトに対するセキュリティ・チェックも行われます。この章では、次の項目について説明します。InterfaceのOCIDescribeAnyコールと同じ機能を提供します。Interfaceプログラマーズ・ガイド』セキュリティ・モデルこのパッケージはPUBLICで使用でき、記述されているスキーマ・オブジェクトに基づいた独自のセキュリティ・チェックが実行されます。タイプDBMS_DESCRIBEパッケージは、2つのタイプのPL/SQL表を宣言しますが、これは、DESCRIBE_PROCEDUREが戻すデータを、そのOUTパラメータに格納するために使用されます。これらのタイプは次のとおりです。BINARY_INTEGER;例外DBMS_DESCRIBEでは、20000から20004までの範囲のアプリケーション・エラーが発生する可能性があります。パッケージ'X'は記述できません。記述できるのはパッケージ内のプロシージャだけです。パッケージ'Y'内のプロシージャ'X'は存在しません。オブジェクト'X'はリモートですので、記述できません。オブジェクト'X'は無効ですので、記述されません。例DESCRIBE_PROCEDUREプロシージャは、外部サービス・インタフェースとしても使用できます。OBJECT_NAMEにSCOTT.ACCOUNT_UPDATEを指定するクライアントを想定します。ACCOUNT_UPDATEは次の仕様を持つオーバーロードされたファンクションです。account.balance%type;END;このプロシージャでは、次のように出力されます。次のPL/SQLプロシージャには、そのパラメータとしてすべてのPL/SQLデータ・タイプがあります。NULL;END;このプロシージャを次のパッケージを使用して記述するとします。describe_it;この結果、PL/SQLデータ・タイプのすべての数値コードがリストされます。DBMS_DESCRIBEパッケージのサブプログラムサブプログラム説明DESCRIBE_PROCEDUREプロシージャPL/SQLストアド・プロシージャの簡単な説明を表示します。DESCRIBE_PROCEDUREプロシージャプロシージャDESCRIBE_PROCEDUREは、PL/SQLストアド・プロシージャの簡単な説明を表示します。ストアド・プロシージャの名前を使用して、そのプロシージャの各パラメータについての情報を戻します。DBMS_DESCRIBE.DESCRIBE_PROCEDUREのパラメータパラメータ説明object_name記述するプロシージャの名前。このパラメータの構文は、SQLの識別子に使用されている規則に従います。名前はシノニムでもかまいません。このパラメータは必須であり、NULLは指定できません。名前の長さは合計で197バイトまでです。OBJECT_NAMEが正しく指定されないと、次の例外のいずれかが発生する場合があります。パッケージが指定されました。指定できるのは、ストアド・プロシージャ、ストアド・ファンクション、パッケージ・プロシージャまたはパッケージ・ファンクションのみです。指定したプロシージャまたはファンクションは、所定のパッケージ内に存在しません。指定したオブジェクトはリモート・オブジェクトです。このプロシージャは、現在リモート・オブジェクトを記述できません。指定したオブジェクトは無効であるため記述できません。オブジェクトの指定に構文エラーがあります。reserved2将来使用される予定です。NULLまたは空文字列を設定してください。overloadプロシージャの署名に割り当てられた一意の番号。プロシージャがオーバーロードされている場合、このフィールドには、プロシージャのバージョンごとに異なる値が格納されます。positionパラメータ・リスト内の引数の位置。位置0(ゼロ)には、ファンクションの戻り値のタイプが戻されます。level引数がレコードなどのコンポジット・タイプの場合は、そのデータ・タイプのレベルが戻されます。Interfaceプログラマーズ・ガイド』を参照してください。argument_name記述するプロシージャに関連付けられた引数の名前。datatype記述する引数のOracleデータ・タイプ。データ・タイプおよびその数値タイプのコードは、次のとおりです。BOOLEANdefault_value記述される引数にデフォルト値がある場合は1、デフォルト値がない場合は0(ゼロ)です。in_outパラメータのモードを記述します。(ゼロ)が戻されます。include_string_constraintsパラメータがTRUEに設定されている場合、適切なタイプであれば引数の仮の長さ制約が渡されます。これらは、1、8、23、24、96の文字列タイプです。precision記述する引数のデータ・タイプが2(NUMBER)の場合、このパラメータはその数値の精度を表します。scale記述する引数のデータ・タイプが2(NUMBER)の場合、このパラメータはその数値の位取りを表します。radix記述する引数のデータ・タイプが2(NUMBER)の場合、このパラメータはその数値の基数を表します。spare将来使用するために予約されています。include_string_constraintsデフォルトはFALSEです。パラメータがTRUEに設定されている場合、適切なタイプであれば引数の仮タイプ制約が渡されます。これらは、1、8、23、24、96の文字列タイプです。戻り値DESCRIBE_PROCEDUREからの戻り値はすべて、そのOUTパラメータに戻されます。このデータ・タイプは、パラメータの変数値に適応するための、PL/SQLの表です。