Oracle:DBに定義されているDDLを取得する方法 | けしくんのWebLog

けしくんのWebLog

自分が考えたこと、調べたことを忘れずに残しておくため、Web上にLogを残していきます。

テーブル定義など、OracleDBに作成されているDDLを取得するSQL。
最新のソースコードがどれかわからなくなってしまった時など、
これを使えば環境から直接取得することができる。

もっと細かい設定がしたければ、マニュアルをみる。

よく使うOracle SQL/コマンドまとめ

 

DDLを取得するSQL

set long 20000 -- SQL*Plusから実行するときのみ

set heading off -- SQL*Plusから実行するときのみ

SELECT

DBMS_METADATA.GET_DDL('オブジェクトタイプ', 'オブジェクト名', 'オーナー名')

FROM DUAL;

※出力されたものをファイルにしたい場合は、SPOOLコマンドなどを使用する。

SQL*Plusで実行する場合、以下を先にセットしておくことで結果が見やすくなる。

set long 20000

set heading off

オブジェクトタイプのうち、「PACKAGE BODY」を指定する場合は、
PACKAGE_BODY」と、半角スペースではなく、アンダースコア「_」でつなげる。

出力結果にはデフォルト値のため定義不要なものまですべて出力されるため、
結果を保存する場合は、必要に応じて加工しておくとよい。

 

よく使うOracle SQL/コマンドまとめ