[分享]如何获取指定对象所有创建表的DDL脚本_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4461 | 回复: 0   主题: [分享]如何获取指定对象所有创建表的DDL脚本        下一篇 
guoqiang
注册用户
等级:上士
经验:252
发帖:26
精华:0
注册:2012-4-12
状态:离线
发送短消息息给guoqiang 加好友    发送短消息息给guoqiang 发消息
发表于: IP:您无权察看 2012-4-12 9:52:23 | [全部帖] [楼主帖] 楼主

如何获取指定对象所有创建表的DDL脚本

适用于:

数据库企业版,版本10gr1~11gr2.文档适用于任何操作系统平台

目标:

文档介绍如何在单一的sql语句中运用dbms_metadata函数包获取指定对象创建所有表的DDL脚本语句

方法:

用指定用户(想要获取哪个用户创建表的DDL,就用哪个用户连接数据库)连接到数据库中,执行

SET LONG 2000000
SET PAGESIZE 0


EXECUTE DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'STORAGE',false); 代码成功后,执行

SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name) FROM USER_TABLES u


WHERE u.nested='NO' AND (u.iot_type is null or u.iot_type='IOT'); 查询语句,在此将会返回当前用户创建所有表的DDL语句,最后执行
EXECUTE DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'DEFAULT'); 代码将dbms_metadata函数包转换状态函数修改成默认状态




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论