GET_SOURCE_TABLE

説明

ストアドプロシージャ GET_SOURCE_TABLE は、JDBC 基本ビューのソースに関する情報を返します。具体的には、以下のとおりです。

  • テーブルまたはビューを基に作成された JDBC 基本ビューの場合、データベースのテーブル/ビュー、およびそのスキーマとカタログの名前を返します。

  • SQL クエリにより作成された JDBC 基本ビューの場合、そのクエリを返します。

  • ストアドプロシージャにより作成された JDBC 基本ビューの場合、そのプロシージャの名前を返します。

このプロシージャは、データベースに対するクエリを実行してこの情報を取得するわけではありません。情報はすべて、基本ビューのメタデータに基づくものです。したがって、基本ビューの作成後にその基本ビューのテーブルが別のスキーマに移動された場合でも、このプロシージャは引き続き古いスキーマを返します。基本ビューのメタデータを更新するには、ビューの source refresh を行う必要があります。また、 SOURCE_CHANGES プロシージャを使用して、ビューの変更をプログラムによって検出することもできます。

データベースのテーブル/ビューの列に関する情報も取得する必要がある場合は、 GET_SOURCE_COLUMNS プロシージャも参照してください。

構文

GET_SOURCE_TABLE (
      input_database_name : text
    , input_view_name : text
)
  • どちらのパラメーターも必須です。


このプロシージャは、以下のフィールドで構成される単一の行を返します。

  • database_name: 基本ビューが属すデータベースの名前。

  • view_name: 基本ビューの名前。

  • view_type: このフィールドの値は常に BASE です。

  • view_wrapper_name: 基本ビューの JDBC ラッパーの名前。

  • source_catalog_name: ソースデータベースのテーブル/ビューのカタログ。基本ビューが SQL クエリまたはストアドプロシージャにより作成された場合、またはデータベースにカタログの概念が存在しない場合は null です。

  • source_schema_name: ソースデータベースのテーブル/ビューのスキーマ。基本ビューが SQL クエリまたはストアドプロシージャにより作成された場合、またはデータベースにスキーマの概念が存在しない場合は null です。

  • source_table_name: データベースのテーブル、ビュー、またはプロシージャの名前。SQL クエリにより作成された基本ビューの場合は null です。

  • sqlsentence: 基本ビューの SQL ステートメント。基本ビューが SQL ステートメントにより作成されたものではない場合は null です。

  • is_procedure: ビューがデータベースのストアドプロシージャにより作成された場合は true、そうでない場合は false。

  • source_package_name: データベースにストアドプロシージャを保持するパッケージの名前。プロシージャがパッケージに属していない場合、または基本ビューがストアドプロシージャにより作成されたものではない場合は null です。

  • specific_name: データベースのオーバーロードされたストアドプロシージャを区別するための一意の ID。ID が存在しない場合、または基本ビューがストアドプロシージャにより作成されたものではない場合は null です。


このプロシージャは、以下の場合にはエラーを返します。

  • input_database_name または input_view_name が存在しない。

  • 基本ビューが JDBC 基本ビューではない。

必要な権限

このプロシージャは、基本ビューに対する METADATA 権限がユーザーにない場合はエラーを返します。

SELECT *
FROM GET_SOURCE_TABLE()
WHERE input_database_name = 'hr'
AND input_view_name = 'employees';