ここではORACLEデータベースでオブジェクト(表や索引)の一覧やDDL文の確認方法を紹介します。
オブジェクト(表や索引)の一覧
オブジェクトの一覧は、DBA_OBJECTSから取得することが出来ます。
SELECT * FROM DBA_OBJECTS';
指定したユーザの所有するオブジェクトの一覧を取得するときは、OWNER列にユーザ名を指定してSQLを実行します。
SELECT * FROM DBA_OBJECTS wHERE OWNER = 'ユーザー名';
指定したオブジェクトタイプ・種類だけに絞ってオブジェクトの一覧を取得するには、OBJECT_TYPEに条件を指定してSQLを実行します。
オブジェクトタイプにはTABLEやINDEX、VIEWの他などオブジェクトタイプを指定することが出来ます。
・SEQUENCE
・SYNONYM
・DATABASE LINK
・TRIGGER
・FUNCTION、PROCEDURE
・PACKAGE、PACKAGE BODY
SELECT * FROM DBA_OBJECTS wHERE OBJECT_TYPE = 'オブジェクトタイプ名';
ログインユーザが所有するオブジェクトの一覧を取得するには、USER_OBJECTSをSELECTします。
SELECT * FROM USER_OBJECTS';
オブジェクト(表や索引)のDDL文
テーブルやインデックスなどのデータベースオブジェクトのDDL文を取得するには、DBMS_METADATAパッケージを使います。
次のSQLでは、SELECT文でDBMS_METADATAパッケージを呼び出してDDL文を取得しています。オブジェクトの名前とユーザー名を指定します。
select
dbms_metadata.GET_DDL(
object_type=>'TABLE' --オブジェクトのタイプ
,name=>'table1' --オブジェクト名
,schema=>'user1' --スキーマ名
)
from
dual
;