在哪里可以找到oracle任何系统表中的外部表的ddl脚本

问题描述

我尝试使用以下代码,但无法获取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获得更多信息

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...