oracle,dbms_metadata.get_ddl()获取对象ddl

前端之家收集整理的这篇文章主要介绍了oracle,dbms_metadata.get_ddl()获取对象ddl前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

sql/plus中可调用dbms_Metadata.get_ddl()函数来查看数据库对象的ddl,

便于显示,先设置如下参数:

setline200;--设置行宽为200字符
setpagesize0;--设置每页的行数为0,(避免分页)
setlong99999;--设置长类型显示字节数
setFeedbackoff;--关闭回显处理记录行数
setechooff;--设置运行命令是不显示语句


获取对象ddl:

SELECTDBMS_MetaDATA.GET_DLL('TABLE','TABLE_NAME','TABLE_OWNER')FROMDUAL;
SELECTDBMS_MetaDATA.GET_DLL('VIEW','VIEW_NAME','VIEW_OWNER')FROMDUAL;
SELECTDBMS_MetaDATA.GET_DLL('INDEX','INDEX_NAME','INDEX_OWNER')FROMDUAL;
SELECTDBMS_MetaDATA.GET_DLL('FUNCTION','FUNCTION_NAME','FUNCTION_OWNER')FROMDUAL;
SELECTDBMS_MetaDATA.GET_DLL('PROCUDURE','PROCUDURE_NAME','PROCUDURE_OWNER')
FROMDUAL;
SELECTDBMA_MetaDATA.GET_DLL('TABLESPACE','TABLESPACE_NAME')FROMDUAL;
SELECTDBMS_MetaDATA.GET_DLL('USER','USER_NAME')FROMDUAL;


获取schema下的所有对象的ddl:

SELECTDBMS_MetaDATA.GET_DLL('TABLE',u.table_name,u.owner)FROMDBA_TABLESu;
SELECTDBMS_MetaDATA.GET_DLL('VIEW',u.view_name,u.owner)FROMDBA_VIEWSu;
SELECTDBMS_MetaDATA.GET_DLL('INDEX',u.index_name,u.owner)FROMDBA_INDEXSu;
SELECTDBMS_MetaDATA.GET_DLL('FUNCTION',u.object_name,u.owner)FROMDBA_OBJECTSuWHEREOBJECT_TYPE='FUNCTION';
SELECTDBMS_MetaDATA.GET_DLL('PROCUDURE',u.owner)FROMDBA_OBJECTSuWHEREOBJECT_TYPE='PROCUDURE';
SELECTDBMS_MetaDATA.GET_DLL('TABLESPACE',u.tablespace_name)
FROMDBA_TABLESPACESu;
SELECTDBMS_MetaDATA.GET_DLL('USER',u.user_name)FROMDBA_USERSu;

猜你在找的Oracle相关文章