数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

Oracle导出SQL脚本的spool实现


发布日期:2019年10月29日
 
Oracle导出SQL脚本的spool实现

下面介绍Oracle导出SQL脚本的实现方法本方法使用spool

a 获取单个的建表和建索引的语法

set heading off;

set echo off;

Set pages ;

set long ;

spool DEPTsql

select dbms_metadataget_ddl(TABLEDEPTSCOTT) from dual;

select dbms_metadataget_ddl(INDEXDEPT_IDXSCOTT) from dual;

spool off;

b获取一个SCHEMA下的所有建表和建索引的语法以scott为例

set pagesize

set long

set feedback off

set echo off

spool scott_schemasql

nnect scott/tiger;

SELECT DBMS_METADATAGET_DDL(TABLEutable_name)

FROM USER_TABLES u;

SELECT DBMS_METADATAGET_DDL(INDEXuindex_name)

FROM USER_INDEXES u;

spool off;

c 获取某个SCHEMA的建全部存储过程的语法

nnect brucelau /brucelau;

spool proceduressql

select

DBMS_METADATAGET_DDL(PROCEDUREuobject_name)

from

user_objects u

where

object_type = PROCEDURE;

spool off;

dbms_metadataget_ddl(TABLETABUSER)

三个参数中第一个指定导出DDL定义的对象类型(此例中为表类型)第二个是对象名(此例中即表名)第三个是对象所在的用户名

要自己写程序进行Oracle导出SQL脚本执行一段SQL让SQL查询结果就是我们想要的SQL脚本

如下

select

INSERT INTO B_STATTEMPLATE ( N_IDC_NAME C_KBH N_PRINT N_TYPE N_APP N_VALID )

|| Values ( || To_Char(N_ID) || || C_NAME || || C_KBH ||

|| To_Char( N_PRINT ) || || To_Char( N_TYPE ) || || );

from b_stattemplate

将查询结果保存起来就可以了!

Oracle导出SQL脚本这样就实现了

上一篇:Oracle 8i 到 9i 升级之路

下一篇:详细讲述PLSQL的书写及语法