嗨,我正在使用 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 中生成 DDL 的方法有很多种。
select dbms_metadata.get_ddl('TABLE', 'YOUR_TABLE_NAME', 'YOUR_SCHEMA_NAME') from dual;
或者您可以使用describe
desc
命令来描述表的列名和数据类型,您可以通过添加crate table命令和逗号来使用与DDL语句相同的内容。
desc table_name;