网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.在 Oracle JDeveloper 中创建 XS.
.Oracle7.X 回滚表空间数据文件的.
.深刻理解Oracle数据库的启动和关.
.如何把应用程序和Oracle客户端一.
.关于db_name、instance_name、OR.
.配置XDM--一种Linux的图形登录界.
.ORACEL多路复制及一般表空间恢复.
.ORACLE学习笔记--性能优化(1).
.SQL模拟达芬奇密码中文站首页数字.
.Oracle数据库中分区表的操作方法.
.Oracle中行迁移和行链接的清除及.
.使用ORACLE数据库时的WEB分页方法.
.如何启动ARCHIVELOG模式?.
.针对Oracle的TNS listener攻击方.
.在unix下定时执行oracle的sql方法.
.Oracle Portal及其门户网站.
.ORACLE与SQL之间的数据迁移.
.查看SGA区剩余可用内存的方法.
.ORACLE常用傻瓜問題1000問(之四).
.一个DBA_Monitor.sql程序.

Oracle9i新特性-使用DBMS_METADATA包获得对象DDL语句

发表日期:2008-2-9



   Oracle9i新特性-使用DBMS_METADATA包获得对象DDL语句作者:eygle出处:http://blog.eygle.com日期:December 22, 2004
« Oracle整合仁科的困难 Blog首页

从Oracle9i开始Oracle提供了一个新的系统包DBMS_METADATA,可以用于提取对象创建的DDL语句。

这个Package功能极其强大,我们来看看它的使用方法.

1.获得表的创建语句.

SQL> desc dbms_metadataFUNCTION ADD_TRANSFORM RETURNS NUMBER...FUNCTION GET_DDL RETURNS CLOB Argument Name Type In/Out Default? ------------------------------ ----------------------- ------ -------- OBJECT_TYPE VARCHAR2 IN NAME VARCHAR2 IN SCHEMA VARCHAR2 IN DEFAULT VERSION VARCHAR2 IN DEFAULT MODEL VARCHAR2 IN DEFAULT TRANSFORM VARCHAR2 IN DEFAULT....
SQL> set long 2000
SQL> select dbms_metadata.get_ddl('TABLE','TEST') from dual;

DBMS_METADATA.GET_DDL('TABLE','TEST')
--------------------------------------------------------------------------------

CREATE TABLE "SYS"."TEST"
( "OWNER" VARCHAR2(30),
"OBJECT_NAME" VARCHAR2(128),
"SUBOBJECT_NAME" VARCHAR2(30),
"OBJECT_ID" NUMBER,
"DATA_OBJECT_ID" NUMBER,
"OBJECT_TYPE" VARCHAR2(18),
"CREATED" DATE,
"LAST_DDL_TIME" DATE,
"TIMESTAMP" VARCHAR2(19),
"STATUS" VARCHAR2(7),
"TEMPORARY" VARCHAR2(1),
"GENERATED" VARCHAR2(1),
"SECONDARY" VARCHAR2(1)
) 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 "SYSTEM"

SQL>







2.进一步的,可以通过dbms_metadata获得更全面的DDL语句

Oracle提供一个全面的范例:
$ORACLE_HOME/rdbms/demo/mddemo.sql
包括索引、授权、触发器等所有DDL语句都可以被提取。

有爱好的可以参考该文件,按照Demo的例子进行测试。
上一篇:Oracle里汉字长度问题! 人气:644
下一篇:ORACLE要点综述(之一:基本SELECT语句) 人气:576
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐