HOME >> Tips >> Oracle Tips >> SQL

オブジェクトの一覧を取得する(USER_OBJECTS / DBA_OBJECTS)

 
文書番号:20272




Oracle オブジェクトの一覧を取得するSQL。

・ログインユーザーが持つオブジェクトの一覧を取得する


SELECT *
FROM   USER_OBJECTS
WHERE  OBJECT_TYPE = 'オブジェクトタイプ名'

・他のユーザーのオブジェクトを取得する


SELECT *
FROM   DBA_OBJECTS
WHERE  OWNER       = 'ユーザー名'
AND    OBJECT_TYPE = 'オブジェクトタイプ名'
「オブジェクトタイプ名」に指定できる一例です。
  • TABLE
  • INDEX
  • VIEW
  • FUNCTION
  • PROCEDURE
  • TRIGGER
  • PACKAGE
  • PACKAGE BODY
  • SEQUENCE
  • SYNONYM
  • DATABASE LINK

【例】

・テーブルの一覧を取得する


SELECT *
FROM   USER_OBJECTS
WHERE  OBJECT_TYPE = 'TABLE';

・インデックスの一覧を取得する


SELECT *
FROM   USER_OBJECTS
WHERE  OBJECT_TYPE = 'INDEX';

・ビューの一覧を取得する


SELECT *
FROM   USER_OBJECTS
WHERE  OBJECT_TYPE = 'VIEW';

・ファンクションの一覧を取得する


SELECT *
FROM   USER_OBJECTS
WHERE  OBJECT_TYPE = 'FUNCTION';

・プロシージャの一覧を取得する


SELECT *
FROM   USER_OBJECTS
WHERE  OBJECT_TYPE = 'PUROCEDURE';

・トリガーの一覧を取得する


SELECT *
FROM   USER_OBJECTS
WHERE  OBJECT_TYPE = 'TRIGGER';

・パッケージの一覧を取得する


SELECT *
FROM   USER_OBJECTS
WHERE  OBJECT_TYPE = 'PACKAGE';

・パッケージボディの一覧を取得する


SELECT *
FROM   USER_OBJECTS
WHERE  OBJECT_TYPE = 'PACKAGE BODY';

・シーケンスの一覧を取得する


SELECT *
FROM   USER_OBJECTS
WHERE  OBJECT_TYPE = 'SEQUENCE';