我们在哪里可以找到 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
获取更多信息
我尝试使用以下代码但无法获取 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
获取更多信息