通过9i的DBMS_METADATA包得到DLL语句

王朝mssql·作者佚名  2006-12-17
宽屏版  字体: |||超大  

通过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定义的对象类型(此例中为表类型),第二个是对象名(此例中即表名),第三个是对象所在的用户名。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有