オブジェクトの一覧を取得する(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';