2016-07-13 1 views
0

を返さない私持っているの文...のOracle SQL:ALL_TAB_COLUMNSが有効なテーブル

返し
SELECT table_name from all_tab_columns; 

...

私がしようとし
X 

...

SELECT * FROM X; 

I ...

Table DNE 

ここで問題は何ですか?

+1

テーブルが存在するスキーマにアクセスする権限がない場合があります。しかし、すべてのスキーマ内のすべてのオブジェクトを表示する権限を持つことができます。 Xをそのスキーマ名の前に置く必要があるかもしれません。あなたは誰としてログインしていますか?問題のテーブルの所有者は誰ですか? 'Owner、Table_name、user from all_tab_Columns;' owner <>ユーザなら、あなたは接頭辞が必要かもしれないし、許可が足りないかもしれない。 – xQbert

+0

権限である可能性があります。私は特にXのために別のユーザーを得ています。 –

+2

クエリーを変更して 'Select * from owner.X'(ownerは単に 'owner'だけでなく、実際に返される値です)を検索し、依然としてDNEを取得すると、権限の問題になる可能性があります。テーブル名に接頭辞を付けたくない場合は、XがOwner.xを指し示す同義語を作成することができます。したがって、接頭辞は必要ありません。 – xQbert

答えて

0

あなたのケースは異なる場合がありますが、私の場合はテーブルXが異なるOwnerを持っていたという問題がありました。

これをアクセスするには、私は、あなたが言ったテーブルを選択することができるはずです、今

SELECT * FROM Owner.X

にあなたのクエリを変更するには、コマンド

新しいユーザー情報で

SELECT Owner, Table_name FROM all_tab_columns

を使用しました。

関連する問題