文件一(参数)
@ObjectBackUp.sql 'REVE21' 'PACKAGE_SPEC' 'ZCSM036006' 'BKUP\REVE\PACKAGE\ZCSM036006_bk.sql'
文件二
set head off
set pagesize 0
set verify off
set long 10000000
set LONGCHUNKSIZE 10000000
set linesize 32767
set trims on
BEGIN
DBMS_METADATA.SET_TRANSFORM_PARAM(
TRANSFORM_HANDLE => DBMS_METADATA.SESSION_TRANSFORM
, NAME => 'SQLTERMINATOR'
, VALUE => TRUE);
END;
/
spool &4
select dbms_metadata.get_ddl('&2', '&3', '&1') from dual;
spool off
DBMS_METADATA.SET_TRANSFORM_PARAM和dbms_metadata.get_ddl是啥用处?
@ObjectBackUp.sql 'REVE21' 'PACKAGE_SPEC' 'ZCSM036006' 'BKUP\REVE\PACKAGE\ZCSM036006_bk.sql'
文件二
set head off
set pagesize 0
set verify off
set long 10000000
set LONGCHUNKSIZE 10000000
set linesize 32767
set trims on
BEGIN
DBMS_METADATA.SET_TRANSFORM_PARAM(
TRANSFORM_HANDLE => DBMS_METADATA.SESSION_TRANSFORM
, NAME => 'SQLTERMINATOR'
, VALUE => TRUE);
END;
/
spool &4
select dbms_metadata.get_ddl('&2', '&3', '&1') from dual;
spool off
DBMS_METADATA.SET_TRANSFORM_PARAM和dbms_metadata.get_ddl是啥用处?
DBMS_METADATA.SET_TRANSFORM_PARAM:设置环境参数
dbms_metadata.get_ddl:获得数据库对象的定义
类型:PACKAGE_SPEC
名称:ZCSM036006
用户:REVE21
一个包分为两部分:包说明(PACKAGE SPECIFICATION)和包体(PACKAGE BODY),这里是取得包说明部分(PACKAGE_SPEC)
另外,下面这句仅仅是给返回的结果后面加一个'/',这样可以在sqlplus直接执行文件中的脚本了。BEGIN
DBMS_METADATA.SET_TRANSFORM_PARAM(
TRANSFORM_HANDLE => DBMS_METADATA.SESSION_TRANSFORM
, NAME => 'SQLTERMINATOR'
, VALUE => TRUE);
END;
/