我们在哪里可以找到 oracle 中外部 table 的 ddl 脚本(任何系统 table)

Where we can find ddl script of external table in oracle(any system table)

我尝试使用以下代码但无法获取 DDL 脚本,

  SELECT DBMS_METADATA.get_ddl ('TABLE', 'TABLE_NAME', 'OWNER') FROM dual 

是否有任何 oracle 系统 table 我们可以在其中查看外部 table 的定义。

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

获取更多信息