博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

libydwei

滴水石穿,源自毅力!
  libydwei.cublog.cn

关于作者
姓名:libydwei
职业:IT
年龄:@@
位置:@@
个性介绍:每天进步一点点
|| << >> ||
我的分类


通过9i的DBMS_METADATA包得到DLL语句
通过9i的DBMS_METADATA包得到DLL语句
  基本上用到的语法如下:
  a. 获取单个的建表和建索引的语法
  set heading off;
  set echo off;
  Set pages 999;
  set long 90000;
  spool DEPT.sql
  select dbms_metadata.get_ddl('TABLE','DEPT','SCOTT') from dual;
  select dbms_metadata.get_ddl('INDEX','DEPT_IDX','SCOTT') from dual;
  spool off;
  b.获取一个SCHEMA下的所有建表和建索引的语法,以scott为例:
  set pagesize 0
  set long 90000
  set feedback off
  set echo off
  spool scott_schema.sql
  connect scott/tiger;
  SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name)
   FROM USER_TABLES u;
  SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name)
   FROM USER_INDEXES u;
  spool off;
  c. 获取某个SCHEMA的建全部存储过程的语法
  connect brucelau /brucelau;
  spool procedures.sql
  select
   DBMS_METADATA.GET_DDL('PROCEDURE',u.object_name)
  from
   user_objects u
  where
   object_type = 'PROCEDURE';
  spool off;
  另:
  dbms_metadata.get_ddl('TABLE','TAB1','USER1')
  三个参数中,第一个指定导出DDL定义的对象类型(此例中为表类型),第二个是对象名(此例中即表名),第三个是对象所在的用户名。
  参考:
  ZDNet China《轻松取得Oracle结构描述句法》
  Oracle的官方文档
通过9i的DBMS_METADATA包得到DLL语句
  基本上用到的语法如下:
  a. 获取单个的建表和建索引的语法
  set heading off;
  set echo off;
  Set pages 999;
  set long 90000;
  spool DEPT.sql
  select dbms_metadata.get_ddl('TABLE','DEPT','SCOTT') from dual;
  select dbms_metadata.get_ddl('INDEX','DEPT_IDX','SCOTT') from dual;
  spool off;
  b.获取一个SCHEMA下的所有建表和建索引的语法,以scott为例:
  set pagesize 0
  set long 90000
  set feedback off
  set echo off
  spool scott_schema.sql
  connect scott/tiger;
  SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name)
   FROM USER_TABLES u;
  SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name)
   FROM USER_INDEXES u;
  spool off;
  c. 获取某个SCHEMA的建全部存储过程的语法
  connect brucelau /brucelau;
  spool procedures.sql
  select
   DBMS_METADATA.GET_DDL('PROCEDURE',u.object_name)
  from
   user_objects u
  where
   object_type = 'PROCEDURE';
  spool off;
  另:
  dbms_metadata.get_ddl('TABLE','TAB1','USER1')
  三个参数中,第一个指定导出DDL定义的对象类型(此例中为表类型),第二个是对象名(此例中即表名),第三个是对象所在的用户名。
  参考:
  ZDNet China《轻松取得Oracle结构描述句法》
  Oracle的官方文档

 原文地址 http://www.wangchao.net.cn/bbsdetail_579577.html
发表于: 2008-04-22,修改于: 2008-04-22 22:18,已浏览148次,有评论0条 推荐 投诉


网友评论
 发表评论