欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

spool脚本里想打印出pl里实施sql结果

更新时间: 2014-01-05 02:14:33 责任编辑: Author_N1

 

spool脚本里想打印出PL里执行SQL结果
spool1.sql:

var v1 number;
exec select max(TASK_ID) into :v1 from SQL_RESULT;
var v2 number;
exec select count(distinct FILENAME) into :v2 from SQL_TIME where TASKID = :v1 ;

spool d:\1.txt
select taskid ,taskname from test_task where taskid=:v1;

declare
sql1 varchar2(512);
begin
for i in 1..:v2 loop
sql1 :='select INSQLID "文件内SQL编号",sum(SQLTIME) "Time(ms)" from SQL_TIME where TASKID = '||:v1||' and FILENAME=''./result/SQL'||i||'.format'' group by rollup(INSQLID) order by INSQLID';
dbms_output.put_line('SQL文件'||i);
dbms_output.put_line(sql1);
execute immediate sql1;
end loop;
end;
/

spool off

spool的结果1.txt,如下:

    TASKID TASKNAME                                                                                                                                                                                     
---------- ----------------------------                                                                                                                             
        19 SSB1S                                                                                                                                                                                        


PL/SQL 过程已成功完成。



虽然用了execute immediate sql1;但select的结果并没打到1.txt里,怎么才能将结果打出来呢?

--参考方法--

感觉再加一层spool
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:14:33
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/7434/
本文WWW.DOC100.NET DOC100.NET版权所有。