テーブル定義など、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」と、半角スペースではなく、アンダースコア「_」でつなげる。
出力結果にはデフォルト値のため定義不要なものまですべて出力されるため、
結果を保存する場合は、必要に応じて加工しておくとよい。