特定の列名を持つスキーマ内のテーブルを検索しようとしています。だから私は、次のスクリプトを使用するが、それは何も返しません。一方何も表示されていない列を検索するクエリ?
select a.table_name, column_name,DATA_TYPE,DATA_LENGTH
from all_tab_columns a,USER_ALL_TABLES u
where a.TABLE_NAME=u.TABLE_NAME
and column_name like '%LATLONG%'
order by DATA_LENGTH desc;
を、表LATLONG_DETAIL
のSELECT
はLATLONG_TYPE
という列が表示されます。
なぜ、このテーブルが結果に表示されないのですか?
これらのクエリはすべて、テーブルLATLONG_DETAIL
が存在するスキーマで実行されています。
ありがとうございました。
あなたの意見は少し混ざっています。 USER_ALL_TABLESではなくALL_TABLESを試してください。後者は、現在のユーザーが所有するテーブルのビューを制限しています。 – unleashed
'select table_name from user_tables where table_name = 'LATLONG_DETAIL''は何かを返しますか?そうでない場合は、代わりに 'all_tables'を試してください。それでも動作しない場合は、 'where'節で' upper(table_name) 'を試してください。見つけたものを報告してください。 – mathguy
@ TheGrandDuke:ありがとう。私は、USER_ALL_TABLESが現在のユーザーによってテーブルに制限されていることを知らなかった。 ALL_TABLESが機能しました。 – rbhat