关键字:数据库
我们都知道在9i之前,要想获得建表和索引的语句是一件很麻烦的事。我们通常的做法都是通过export with rows=no来得到,但它的输出因为格式的问题并不能直接拿来用。而另一种方法就是写复杂的脚本来查询数据字典,但这对于一稍微复杂的对象,如IOT和嵌套表等,还是无法查到。从数据字典中获得DDL语句是经常要用的,特别是在系统升级/重建的时候。在Oracle 9i中,我们可以直接通过执行dbms_metadata从数据字典中查处DDL语句。使用这个功能强大的工具,我们可以获得单个对象或整个SCHEMA的DDL语句。最好不过的是因为它使用起来很简单。
1、获得单个表和索引DDL语句的方法:
set heading off; set echo off; Set pages 999; set long 90000; spool get_single.sql select dbms_metadata.get_ddl(TABLE,SZT_PQSO2,SHQSYS) from dual; select dbms_metadata.get_ddl(INDEX,INDXX_PQZJYW,SHQSYS) from dual; spool off; |
下面是输出。我们只要把建表/索引语句取出来在后面加个分号就可以直接运行了。
SQL> select dbms_metadata.get_ddl(TABLE,SZT_PQSO2,SHQSYS) from dual;
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/
领测软件测试网最新更新
关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved 北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2 技术支持和业务联系:info@testage.com.cn 电话:010-51297073 |