问题描述
我尝试使用以下代码,但无法获取DDL脚本,
SELECT DBMS_METADATA.get_ddl ('TABLE','TABLE_NAME','OWNER') FROM dual
有没有可以查看外部表定义的oracle系统表。
解决方法
DBMS_METADATA.GET_DDL可以很好地用于外部表,例如
SQL> select dbms_metadata.get_ddl('TABLE','SALES_EXT') from dual;
DBMS_METADATA.GET_DDL('TABLE','SALES_EXT')
----------------------------------------------------------------------------
CREATE TABLE "MCDONAC"."SALES_EXT"
( "CUST_ID" VARCHAR2(10) COLLATE "USING_NLS_COMP" NOT NULL ENABLE,"PRODUCT_ID" NUMBER(*,0) NOT NULL ENABLE,"AMT" NUMBER,"DTE" DATE,"AMT10" NUMBER(*,0) GENERATED ALWAYS AS ("AMT"*10) VIRTUAL
) DEFAULT COLLATION "USING_NLS_COMP"
ORGANIZATION EXTERNAL
( TYPE ORACLE_LOADER
DEFAULT DIRECTORY "TEMP"
ACCESS PARAMETERS
( records delimited by newline
...
...
您还可以从xxx_EXTERNAL_TABLES获得更多信息