文件一(参数)
@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是啥用处?

解决方案 »

  1.   

    这种问题还是到百度或者google搜一下吧。
    DBMS_METADATA.SET_TRANSFORM_PARAM:设置环境参数
    dbms_metadata.get_ddl:获得数据库对象的定义
      

  2.   

    用来取得REVEL21用户下,名称为zcsm036006的PACKAGE的包说明创建脚本,并保存到文件BKUP\REVE\PACKAGE\ZCSM036006_bk.sql中去。DBMS_METADATA.GET_DDL(类型,名称,用户名)
    类型:PACKAGE_SPEC
    名称:ZCSM036006
    用户:REVE21
      

  3.   

    就是保存现有PACKAGE的内容罗?
      

  4.   


    一个包分为两部分:包说明(PACKAGE SPECIFICATION)和包体(PACKAGE BODY),这里是取得包说明部分(PACKAGE_SPEC)
    另外,下面这句仅仅是给返回的结果后面加一个'/',这样可以在sqlplus直接执行文件中的脚本了。BEGIN 
      DBMS_METADATA.SET_TRANSFORM_PARAM( 
        TRANSFORM_HANDLE => DBMS_METADATA.SESSION_TRANSFORM 
        , NAME => 'SQLTERMINATOR' 
        , VALUE => TRUE); 
    END; 

      

  5.   

    哪位大哥能提供一个学习的web 让我参考参考 谢谢