6

私が実行しているクエリの 1 つが実際のテーブルからのものではなく、VIEW からのものであることがわかりました。

その VIEW で SQL クエリを確認したいと思います。しようとするdescribeと、オブジェクトが存在しないというエラーが表示されます。ビューから SELECT すると、いくつかのデータが得られます。

4

3 に答える 3

7

ビューの基礎となる SQL を確認するには、データ ディクショナリにクエリを実行する必要があります。試す

select view_name, text from user_views where view_name = 'MY_VIEW';

ユーザーがビューを所有していない場合は、試してくださいall_views

于 2012-10-01T19:55:42.423 に答える
2

ビューを作成するために使用された実際の SQL を確認したい場合dbms_metadata.get_ddlは、CLOB を返すfunction を使用できます。

select dbms_metadata.get_ddl ( 'VIEW'
                             , 'MY_VIEW' -- view name
                                )
  from dual

必要に応じて、さらにいくつかのオプションがあります。

いつものように説明したい場合。これが機能しない場合は、スキーマが間違っているか、オブジェクトが存在しません。

DESC MY_VIEW

間違ったスキーマにいる場合は、次を使用できます。

select dbms_metadata.get_ddl ( 'VIEW'
                             , 'MY_VIEW', -- view name
                             , 'MY_SCHEMA'
                                )
  from dual

また

DESC MY_SCHEMA.MY_VIEW
于 2012-10-01T19:51:40.633 に答える
0

または、SQLDeveloperの左側の接続ペインのビューをクリックします。ビューが開いたら、[SQL]タブをクリックして、その下にあるSQLを表示します。ビューが使用されているユーザー/スキーマを見つけるには

select owner 
   from all_objects 
   where object_name='VIEW_NAME' and object_type='VIEW';
于 2012-10-01T20:17:22.383 に答える