dbms_metadata.get_ddl的用法

  

  ——GET_DDL:返回元数据为单一对象的DDL。   
  

  

  ——这个接口是用来休闲浏览(例如,从SQLPlus)   

  

  ——与编程上面打开/卖/关闭界面。   

  

  ——参数:   

  

  ——object_type检索对象的类型。   

  

  ——名字对象的名称。   

  

  ——包含对象的模式——模式。默认为   

  

  ——调用者# 39;s模式。   

  

  ——版本的版本对象# 39;元数据。   

  

  ——模型的对象模型的元数据。   

  

  ——变换。——XSL-T变换。应用。   

  

  ——回报:元数据对象转换为CLOB DDL。   

  

  函数get_ddl (object_type VARCHAR2,   

  

  名字在VARCHAR2,   

  

  模式在VARCHAR2默认为空,   

  

  版本VARCHAR2默认& # 39;兼容# 39;   

  

  模型在VARCHAR2默认& # 39;甲骨文# 39;   

  

  变换。VARCHAR2默认& # 39;ddl # 39;)返回CLOB;   

  

  
  

  

  1 .得到一个表或索引的ddl语句   

  

  选择DBMS_METADATA.GET_DDL(& # 39;表# 39;& # 39;部门# 39;,& # 39;斯科特# 39;)从双;   

  

  选择dbms_metadata.get_ddl(& # 39;指数# 39;& # 39;PK_DEPT& # 39;, & # 39;斯科特# 39;)双;   

  

  
  

  

  2 .得到一个用户下的所有表,索引,存储过程的ddl   

  

  选择DBMS_METADATA.GET_DDL (U。OBJECT_TYPE u.object_name),从user_object u  U。OBJECT_TYPE(& # 39;表# 39;& # 39;指数# 39;,& # 39;程序# 39;);   

  

  
  

  

  3 .得到所有表空间的ddl语句   

  

  选择DBMS_METADATA.GET_DDL(& # 39;表空间# 39;,TS.tablespace_name),从DBA_TABLESPACES TS;   

  

  
  

  

  4 .得到所有创建用户的ddl   

  

  选择DBMS_METADATA.GET_DDL(& # 39;用户# 39;,U.username)从DBA_USERS U;   

  

==========================================================

  

  9我;中可以利用DBMS_METADATA.GET_DDL包得到数据库的对象的ddl脚本。如下(SQLPLUS中执行):   

  

  一。获取单个的建表,视图和建索引的语法   

  

  设置页大小0   
  设置长90000   
  设置反馈了   
  使回波   
  线轴DEPT.sql   
  选择dbms_metadata.get_ddl(& # 39;表# 39;& # 39;TAB_NAME& # 39;, & # 39;斯科特# 39;)双,,   
  选择dbms_metadata.get_ddl(& # 39;视图# 39;& # 39;VIEW_NAME& # 39;, & # 39;斯科特# 39;)双,,   
  选择dbms_metadata.get_ddl(& # 39;指数# 39;& # 39;IDX_NAME& # 39;, & # 39;斯科特# 39;)双;   
  短管;   
  ,,   
  b。获取一个模式下的所有建表,视图和建索引的语法,以斯科特为例:   
  ,,   
  设置页大小0   
  设置长90000   
  设置反馈了   
  使回波   
  线轴schema.sql   
  连接斯科特/老虎;   
  选择DBMS_METADATA.GET_DDL(& # 39;表# 39;,u.table_name)从USER_TABLES u;   
  ,选择DBMS_METADATA.GET_DDL(& # 39;视图# 39;,u.VIEW_name)从USER_VIEWS u;   
  选择DBMS_METADATA.GET_DDL(& # 39;指数# 39;,u.index_name)从USER_INDEXES u;   
  短管;   

  

  
  

  

  c只,,获取某个模式的建全部存储过程的语法   
  ,,   
  设置页大小0   
  设置长90000   
  设置反馈了   
  使回波   
  线轴procedures.sql ,   
  select ,DBMS_METADATA.GET_DDL(& # 39;程序# 39;,u.object_name)得到,,,user_object u where ,,,object_type=& # 39;程序# 39;;   
  短管;   

  

  
  

  

  d只,,获取某个模式的建全部函数的语法   
  ,,   
  设置页大小0   
  设置长90000   
  设置反馈了   
  使回波   
  线轴function.sql ,   
  select ,DBMS_METADATA.GET_DDL(& # 39;函数# 39;,u.object_name)得到,,,user_object u where ,,,object_type=& # 39;函数# 39;;   
  短管;   

  

  
  

dbms_metadata.get_ddl的用法