LoginSignup
2
0

More than 3 years have passed since last update.

【ORACLE】既存オブジェクトのCRATE文がほしい

Last updated at Posted at 2019-07-29

やりたいこと

  • 既存オブジェクトの Crate 文がほしい。

方法

①sqlplus でログインする

②出力フォーマットを設定しておく

SQL> SET LONG 10000
SQL> SET PAGES 0

③ GET_DLL コマンドを使用して取得する

SQL> SELECT DBMS_METADATA.GET_DDL('オブジェクトの種類', 'オブジェクトの名前', 'スキーマ名') FROM DUAL;
名称 説明
オブジェクトの種類 TABLE とか、VIEWとかいれるよ
オブジェクトの名前 対象オブジェクト名
スキーマ名 省略も可能。省略したときは現在のスキーマ名

たとえば、USER というテーブルの CREATE 文を取得したい。
使用するスキーマは現在のスキーマのときは以下の SQL 文となる

SQL> SELECT DBMS_METADATA.GET_DDL('TABLE', 'USER') FROM DUAL;

実行を行うと、たとえば下記のようなCREATE文がかえる。

 CREATE TABLE "HOGE"."USER"
  (    "USER_ID" NUMBER(2,0),
       "USER_NNAME" CHAR(10),
 USING INDEX PCTFREE 0 INITRANS 2 MAXTRANS 255  NOLOGGING
 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
 TABLESPACE "USERS"  ENABLE
  ) PCTFREE 0 PCTUSED 99 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
 TABLESPACE "USERS"
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0