如果是在sqlPlus下:
set serverout on
然后在存储过程中用
dbms_output.put_line(v_sql);
将v_sql的语句打印到屏幕
如果是在其他的工具里,可以用utl_file包
在init.ora里加一句
utl_file_dir = *;
然后在存储过程利用utl_file.fopen('w','d:\','temp.txt');打开文件
用utl_file.put_line向文件中写数据
用utl_file.fclose()关闭文件

解决方案 »

  1.   

    我好象无权修改INIT.ORA,它是在服务器上的,对吗?不过这是个好方法。come on
      

  2.   

    你可以把SQL存到临时表里,可以很方便查看,如果要写入文本,在sqlplus里用spool输出就可以了,我就是这样用的,很方便。
      

  3.   

    用PL/SQL DEVELOPER 可以调试。
    在客户端可以 set serveroutput on ,把动态SQL用dbms_output.put_line(string) 打印出来.
    拷贝执行即可。
      

  4.   

    1.使用临时表,将信息写入该临时表中;
    2.可以使用dbms_utilfile包(抱歉,用的不多,好象是这个名称)可以将信息写入操作系统文件中。不过需要修改初始化参数文件!