获取表的 DDL 时未获取正常的 DDL 命令

问题描述 投票:0回答:1

嗨,我正在使用 dbms_metadata.get_ddl('TABLE', 'A_fetch') 获取表的 DDL。在获取 DDL 时,我注意到还有来自 DDL 的附加技术术语(元数据)。

CREATE TABLE "A_test" 
(   "ID" NUMBER, 
"NAME" VARCHAR2(90 BYTE) COLLATE "USING_NLS_COMP", 
"ADDRESS" VARCHAR2(90 BYTE) COLLATE "USING_NLS_COMP", 
"GENDER" CHAR(1 BYTE) COLLATE "USING_NLS_COMP"
)  DEFAULT COLLATION "USING_NLS_COMP" SEGMENT CREATION IMMEDIATE 
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 FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "QNBDEV" ; 

预期:我只想像

create table A_test(id number,name varchar2(90),address varchar2(90),gender char(1);

一样正常的DDl
oracle plsql plsqldeveloper
1个回答
0
投票

Oracle 中生成 DDL 的方法有很多种。

select dbms_metadata.get_ddl('TABLE', 'YOUR_TABLE_NAME', 'YOUR_SCHEMA_NAME') from dual;

或者您可以使用describe

desc
命令来描述表的列名和数据类型,您可以通过添加crate table命令和逗号来使用与DDL语句相同的内容。

desc table_name;
© www.soinside.com 2019 - 2024. All rights reserved.