sql >> データベース >  >> RDS >> Oracle

Oracle SQLのスキーマ内のすべてのテーブルを一覧表示するにはどうすればよいですか?

    別のスキーマのすべてのテーブルを表示するには、次のシステム権限の1つ以上が必要です。

    SELECT ANY DICTIONARY
    (SELECT | INSERT | UPDATE | DELETE) ANY TABLE
    

    または大きなハンマー、DBAの役割。

    これらのいずれかを使用して、次を選択できます:

    SELECT DISTINCT OWNER, OBJECT_NAME 
      FROM DBA_OBJECTS
     WHERE OBJECT_TYPE = 'TABLE'
       AND OWNER = '[some other schema]'
    

    これらのシステム権限がないと、直接またはロールを介して、ある程度のアクセス権が付与されているテーブルしか表示できません。

    SELECT DISTINCT OWNER, OBJECT_NAME 
      FROM ALL_OBJECTS
     WHERE OBJECT_TYPE = 'TABLE'
       AND OWNER = '[some other schema]'
    

    最後に、テーブルに対する権限を取り消すことはできないため、いつでもデータディクショナリに自分のテーブルを照会できます(10g以降):

    SELECT DISTINCT OBJECT_NAME 
      FROM USER_OBJECTS
     WHERE OBJECT_TYPE = 'TABLE'
    


    1. SQL、一意のキーと主キー

    2. SQLServerのGOコマンドについて

    3. MySQLの列値の前に文字列を追加するにはどうすればよいですか?

    4. アクセスがあなたのビジネスのお金を節約できる方法