Netcos AG   XCP™ Blackboard
Tip 2   Tip 2 Tip 4  Tip 4
Tip No. 3   DDL mit DBMS_METADATA extrahieren
Mit dem neuen Package DBMS_METADATA lässt sich einfach ein DDL Script von einer Tabelle oder einen anderen Objekt in der Datenbank erzeugen.

Beispiel:
set pagesize 0
set linesize 200
set long 1000000
set longchunksize 1000000

spool c:\sql\emp_ddl.sql

--  get_ddl für SQL  DDL und  get_xml für SQL XML

select dbms_metadata.get_ddl('TABLE',a.table_name,'SCOTT')
  from dba_tables a
 where table_name = 'EMP'
   and owner = 'SCOTT';

select dbms_metadata.get_xml('TABLE',a.table_name,'SCOTT')
  from dba_tables a
 where table_name = 'EMP'
   and owner = 'SCOTT';

spool off

Ergebnis:
CREATE TABLE "SCOTT"."EMP"
   (	"EMPNO" NUMBER(4,0),
	"ENAME" VARCHAR2(10),
	"JOB" VARCHAR2(9),
	"MGR" NUMBER(4,0),
	"HIREDATE" DATE,
	"SAL" NUMBER(7,2),
	"COMM" NUMBER(7,2),
	"DEPTNO" NUMBER(2,0),
	 CONSTRAINT "PK_EMP" PRIMARY KEY ("EMPNO")
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "SYSTEM"  ENABLE,
	 CONSTRAINT "FK_DEPTNO" FOREIGN KEY ("DEPTNO")
	  REFERENCES "SCOTT"."DEPT" ("DEPTNO") ENABLE
   ) PCTFREE 10 PCTUSED 40 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 "SYSTEM"