- 作者: 三十而立
- 时间:2009年9月17日 20:16:11
- 本文出自 “inthirties(三十而立)”博客,转载请务必注明作者和保留出处http://blog.csdn.net/inthirties/archive/2009/09/17/4562219.aspx
GET_DDL得到对象的定义语句
使用DBMS_METADATA.GET_DDL获取DDL语句
很简单。
一个例子说明,如何使用
SQL> set serverout on;
SQL> exec dbms_output.put_line(dbms_metadata.get_ddl('TABLE', 'TEST_1', 'TEST1')
);
这里很清楚了吧,这里需要注意的两点
1. 是函数,参数为
dbms_metadata.get_ddl(OBEJCT_TYPE, OBJECT_NAME, OWNER_NAME);
2. 既然是函数,可以用select dbms_metadata.get_ddl(OBEJCT_TYPE, OBJECT_NAME, OWNER_NAME) from dual;
来直接看。但是你执行一下,就看到问题了,显示不全。怎么回事呀。
这里是long在做怪。默认long是100;这样缓冲区不够,去trim掉了
SQL>set long 2000; 再试试
很简单。
一个例子说明,如何使用
SQL> set serverout on;
SQL> exec dbms_output.put_line(dbms_metadata.get_ddl('TABLE', 'TEST_1', 'TEST1')
);
引用:
CREATE TABLE "TEST1"."TEST_1"
( "ID" NUMBER(*,0),
"NAME" VARCHAR2(100),
CONSTRAINT "PK_TEST_1" PRIMARY KEY ("ID")
USING INDEX PCTFREE 10 INITRANS 2
MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS
2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "TESTTS" ENABLE
) 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)
TABLESPACE "TESTTS"
PL/SQL 过程已成功完成。
这里很清楚了吧,这里需要注意的两点
1. 是函数,参数为
dbms_metadata.get_ddl(OBEJCT_TYPE, OBJECT_NAME, OWNER_NAME);
2. 既然是函数,可以用select dbms_metadata.get_ddl(OBEJCT_TYPE, OBJECT_NAME, OWNER_NAME) from dual;
来直接看。但是你执行一下,就看到问题了,显示不全。怎么回事呀。
这里是long在做怪。默认long是100;这样缓冲区不够,去trim掉了
SQL>set long 2000; 再试试
引用:
DBMS_METADATA.GET_DDL('TABLE','TEST_1','TEST1')
--------------------------------------------------------------------------------
CREATE TABLE "TEST1"."TEST_1"
( "ID" NUMBER(*,0),
"NAME" VARCHAR2(100),
CONSTRAINT "PK_TEST_1" PRIMARY KEY ("ID")
USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "TESTTS" ENABLE
) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
DBMS_METADATA.GET_DDL('TABLE','TEST_1','TEST1')
--------------------------------------------------------------------------------
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "TESTTS"
- 如果没有那句“三十而立”,三十岁的男人正可以轻轻松松
- 专业论坛 http://www.inthirties.com
- 技术博客 http://blog.csdn.net/inthirties
- 个人站点 http://blog.inthirties.com
- Oracle Mysql技术论坛| 打造实用的Oracle Mysql技术交流园地