oracle 備份建表sql

STEP1 :先在外部sql窗口執行:EXECUTE IMMEDIATE 'CREATE OR REPLACE DIRECTORY OUTPUTDIR AS ''D:\''';  
sql

STEP2:建立存儲過程,而後執行~。spa

CREATE OR REPLACE PROCEDURE TABLE_TO_TXT2 IS orm

  FILE_HANDLE UTL_FILE.FILE_TYPE; table

 

  CURSOR USER_TABLE_CSR IS class

    SELECT * FROM USER_TABLES; grid

  ROW_USER_TABLE USER_TABLE_CSR %ROWTYPE; layout

 

  TABLENAME VARCHAR2(200); 存儲過程

 

 

CREATE_TABLE_SQL_CLOB    CLOB; tab

 BEGIN co

    FOR ROW_USER_TABLE IN USER_TABLE_CSR LOOP

    TABLENAME := ROW_USER_TABLE.TABLE_NAME;

          DBMS_OUTPUT.PUT_LINE(TABLENAME);

      FILE_HANDLE := UTL_FILE.FOPEN('OUTPUTDIR' , 'CREATE_TABLE_SQL.txt', 'a');

    UTL_FILE.PUT_LINE(FILE_HANDLE, '');

      SELECT DBMS_METADATA.GET_DDL('TABLE', tablename)

        INTO CREATE_TABLE_SQL_CLOB

        FROM DUAL;

      UTL_FILE.PUT_LINE(FILE_HANDLE, CREATE_TABLE_SQL_CLOB);

     UTL_FILE.FCLOSE(FILE_HANDLE);

  END LOOP;

 

END;

相關文章
相關標籤/搜索