[Oracle]dbms_metadata.get_ddl的用法总结
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了[Oracle]dbms_metadata.get_ddl的用法总结,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1707字,纯文字阅读大概需要3分钟。
内容图文
![[Oracle]dbms_metadata.get_ddl的用法总结](/upload/InfoBanner/zyjiaocheng/547/1fbb1c48bd414d3ba61846101c5f5dc1.jpg)
[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;
内容总结
以上是互联网集市为您收集整理的[Oracle]dbms_metadata.get_ddl的用法总结全部内容,希望文章能够帮你解决[Oracle]dbms_metadata.get_ddl的用法总结所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。