熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Oracle導出SQL腳本的spool實現

2013-11-13 15:58:19  來源: Oracle 

  下面介紹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腳本這樣就實現了


From:http://tw.wingwit.com/Article/program/Oracle/201311/17607.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.