也可以借助第三方工具比较方便了.如pl/sql dev

解决方案 »

  1.   

    这些工具都不行,我的目的是让一个批处理自动运行后将sql语句记录到文件中,而现在唯一不能实现的就是部分很长的语句,不能在文件中完全显示。
      

  2.   

    PLSQL的话utl_file。
    用批处理调用一个存储过程。
    存储过程里面用utl_file包把读到的SQL写入定义好的directory下的文件中。
      

  3.   

    批处理
    sqlplus 用户名密码连接名 @XXX.sqlXXX.sql里面
    call XXXX();存储过程XXXX里面
    CREATE OR REPLACE PROCEDURE XXXX
    IS
    FL UTL_FILE.FILE_TYPE;
    CURSOR CSR IS SELECT SQL_TEXT FROM V$SQLAREA;
    sSQL varchar2(4000);
    BEGIN
      FL := UTL_FILE.FOPEN('FPATH','sql_Log.TXT','w');
      ILOOP := 0;
      FVID := NULL;
      OPEN CSR;
      LOOP
    FETCH CSR INTO sSQL;
    EXIT WHEN CSR%NOTFOUND;
           UTL_FILE.PUT_LINE(FL,sSQL);
      END LOOP;
      UTL_FILE.FCLOSE(FL);
    EXCEPTION 
      WHEN UTL_FILE.INVALID_PATH THEN 
        DBMS_OUTPUT.PUT_LINE('Error : File Path is invalid.');
      WHEN UTL_FILE.INVALID_MODE THEN 
        DBMS_OUTPUT.PUT_LINE('Error : File mode is invalid.');
      WHEN UTL_FILE.INVALID_OPERATION THEN
        DBMS_OUTPUT.PUT_LINE('Error : File operation is invalid.');
    END;最后你要创建一个路径FPATH和给你的用户赋予数据字典的读取权限。而不是角色。