Oracle dbms_metadata.get_ddl的用法总结

dbms_metadata.get_ddl()用于获取对象的DDL,其具体用法如下。

注意:在sqlplus里,为了更好的展示DDL,需要设置如下参数:

set line 200
set pagesize 0
set long 99999
set feedback off
set echo off

1)获得表、索引、视图、存储过程、函数的DDL

select dbms_metadata.get_ddl('TABLE','TABLE_NAME','TABLE_OWNER') from dual;  

select dbms_metadata.get_ddl('INDEX','INDEX_NAME','INDEX_OWNER') from dual;  

select dbms_metadata.get_ddl('VIEW','VIEW_NAME','VIEW_OWNER') from dual;  

select dbms_metadata.get_ddl('PROCEDURE','PROCEDURE_NAME','PROCEDURE_OWNER') from dual;  

select dbms_metadata.get_ddl('FUNCTION','FUNCTION_NAME','FUNCTION_OWNER') from dual;

下面这个脚本用于获得某个schema下所有的表、索引、视图、存储过程、函数的DDL

set pagesize 0
set long 90000
set feedback off
set echo off
spool schema_ddl.sql
SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name,u.owner) FROM DBA_TABLES u;
SELECT DBMS_METADATA.GET_DDL('VIEW',u.view_name,u.owner) FROM DBA_VIEWS u;
SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name,u.owner) FROM DBA_INDEXES u;
select dbms_metadata.get_ddl('PROCEDURE',u.object_name, u.owner,) from dba_objects u where 

u.object_type = 'PROCEDURE';
select dbms_metadata.get_ddl('FUNCTION',u.object_name, u.owner,) from dba_objects u where 

u.object_type = 'FUNCTION';
spool off;

2)获得表空间的DDL

获得单个表空间的DDL:

select dbms_metadata.get_ddl('TABLESPACE','TBS_NAME') from dual;

获得所有表空间的DDL:

SELECT DBMS_METADATA.GET_DDL('TABLESPACE', TS.tablespace_name)

FROM DBA_TABLESPACES TS;

3)获得用户的DDL

获得单个用户的DDL:

select dbms_metadata.get_ddl('USER','EPAY_USER') from dual;

获得所有用户的DDL:

SELECT DBMS_METADATA.GET_DDL('USER',U.username)
FROM DBA_USERS U;

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索select
, set
, metadata
, 表空间
, from
, dbms
, ddl
dbms_metadata.get_ddl
oracle dbms metadata、dbms metadata、dbms get ddl、jquery metadata 用法、dbms scheduler用法,以便于您获取更多的相关知识。

时间: 2016-04-05

Oracle dbms_metadata.get_ddl的用法总结的相关文章

[Oracle] dbms_metadata.get_ddl 的使用方法总结_oracle

dbms_metadata.get_ddl()用于获取对象的DDL,其具体用法如下.注意:在sqlplus里,为了更好的展示DDL,需要设置如下参数: 复制代码 代码如下: set line 200set pagesize 0set long 99999set feedback offset echo off 1)获得表.索引.视图.存储过程.函数的DDL 复制代码 代码如下: select dbms_metadata.get_ddl('TABLE','TABLE_NAME','TABLE_OW

使用dbms_metadata.get_ddl查看对象的定义语句。

当我们想要查看某个表或者是表空间的DDL的时候,可以利用dbms_metadata.get_ddl这个包来查看. dbms_metadata包中的get_ddl函数详细参数  GET_DDL函数返回创建对象的原数据的DDL语句,详细参数如下 -- object_type ---需要返回原数据的DDL语句的对象类型 -- name --- 对象名称 -- schema ---对象所在的Schema,默认为当前用户所在所Schema -- version ---对象原数据的版本 -- model -

dbms_metadata.get_ddl()来获得对象的定义语句

今天打算将一个数据库的索引在另一个测试库上重新创建一遍,研究了一下. set pagesize 0 set long 90000 set feedback off set echo off spool all_index.sql SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name) FROM USER_INDEXES u; spool off; 最后找个编辑器替换一下表空间名,在表空间名后面加上个; 然后让ORACLE慢慢执行吧 其实是调用DBMS

执行DBMS_METADATA.get_ddl报ORA-39212的解决方法

环境:    数据库:oracle 10.2.0.4 --64位    操作系统:红旗dc 5.0  --64位 以sys登陆,执行DBMS_METADATA.get_ddl得到某个表空间的元数据报错select DBMS_METADATA.get_ddl('TABLESPACE','PDA') from dual;ERROR:ORA-39212: installation error: XSL stylesheets not loaded correctlyORA-06512: at "SYS

oracle 10g正则表达式REGEXP_LIKE用法详解

ORACLE中的支持正则表达式的函数主要有下面四个: 1,REGEXP_LIKE :与LIKE的功能相似 2,REGEXP_INSTR :与INSTR的功能相似 3,REGEXP_SUBSTR :与SUBSTR的功能相似 4,REGEXP_REPLACE :与REPLACE的功能相似 它们在用法上与Oracle SQL 函数LIKE.INSTR.SUBSTR 和REPLACE 用法相同, 但是它们使用POSIX 正则表达式代替了老的百分号(%)和通配符(_)字符. POSIX 正则表达式由标准的

Oracle MERGE INTO的用法示例介绍

 这篇文章主要介绍了Oracle MERGE INTO的用法,需要的朋友可以参考下 很多时候我们会出现如下情境,如果一条数据在表中已经存在,对其做update,如果不存在,将新的数据插入.如果不使用Oracle提供的merge语法的话,可能先要上数据库select查询一下看是否存在,然后决定怎么操作,这样的话需要写更多的代码,同时性能也不好,要来回数据库两次.使用merge的话则可以一条SQL语句完成. 1)主要功能 提供有条件地更新和插入数据到数据库表中 如果该行存在,执行一个UPDATE操作

Oracle to_date()函数的用法介绍_oracle

在Oracle数据库中,Oracle to_date()函数是我们经常使用的函数,下面就为您详细介绍Oracle to_date()函数的用法,希望可以对您有所启迪. to_date()与24小时制表示法及mm分钟的显示: 一.在使用Oracle的to_date函数来做日期转换时,很多Java程序员也许会直接的采用"yyyy-MM-dd HH:mm:ss"的格式作为格式进行转换,但是在Oracle中会引起错误:"ORA 01810 格式代码出现两次". select

Oracle trunc()函数的用法

format为年时,精确到-----年 为月时,精确到------年,月(不管哪年,只要是相同的月和哪天) 为日时,精确到------年,月,日(不管哪年的哪月,只关心是哪天) 1.TRUNC(for dates) TRUNC函数为指定元素而截去的日期值. 其具体的语法格式如下: TRUNC(date[,fmt]) 其中: date 一个日期值 fmt 日期格式,该日期将由指定的元素格式所截去.忽略它则由最近的日期截去 下面是该函数的使用情况:  代码如下 复制代码 TRUNC(TO_DATE(

oracle中interval函数用法详解

一.interval函数 interval函数用于将一个整形值转换成时间值date类型的年月或时分秒. oracle语法: interval 'integer [- integer]' {YEAR | MONTH | DAY | HOUR | MINUTE | SECOND} [(precision)][TO {YEAR | MONTH | DAY | HOUR | MINUTE | SECOND}] 注: 1.年.月.日.时.分.秒可以单独使用. 2.{YEAR | MONTH} to {YE