我想运行200多个选择查询并将结果追加到文件中。所有查询都是相同的日期时间变量的唯一区别。我没有创建例程的权限,这就是为什么我必须创建所有查询。我没有权限创建视图或其他表来存储结果。我无权访问PL/SQL。Oracle 10g - 将查询结果写入文件
现在我需要创建一个报告,每个查询的结果(所有结果都是整数),但我似乎找不到另一个解决方案,但要逐个运行并逐个复制结果。
你们中的任何一个神奇的大脑都可以帮助我吗?这有点紧急。
我想运行200多个选择查询并将结果追加到文件中。所有查询都是相同的日期时间变量的唯一区别。我没有创建例程的权限,这就是为什么我必须创建所有查询。我没有权限创建视图或其他表来存储结果。我无权访问PL/SQL。Oracle 10g - 将查询结果写入文件
现在我需要创建一个报告,每个查询的结果(所有结果都是整数),但我似乎找不到另一个解决方案,但要逐个运行并逐个复制结果。
你们中的任何一个神奇的大脑都可以帮助我吗?这有点紧急。
1 - 把您的疑问在一个文本文件,像这样:
set pagesize 0;
select some_field
from some_table;
select another_field
from another_table;
/
2 - 保存在某个地方(让我们sa YC:\ my_file.sql)
3 - 在命令提示符下运行以下命令:
c:\>sqlplus -s username/[email protected] <tmp.sql> output.txt
4 - 看看里面的 “output.txt的”
您可以将输出后台打印到文件。
查看spool
(URL - Oracle 10.2用户指南)命令。
另外:
http://www.praetoriate.com/t_garmany_easysql_the_spool_command.htm
而且这似乎是一些布局提示:
http://www.oracle.com/technology/oramag/code/tips2004/020904.html
已经尝试过,它没有工作得很好。它存储查询字符串,而且,如果我同时运行10个查询,它会中断。 – Daniel 2010-02-19 20:41:55
尝试'设置回声关闭;'在运行查询之前。这阻止显示查询字符串。 当然,'echo'在脚本开始时就已经开始了,一定要在最后重新开启它。总是让事情处于你找到他们的状态;) – FrustratedWithFormsDesigner 2010-02-19 20:44:59
将尝试那一个。 – Daniel 2010-02-19 21:04:51
如果您有机会获得sqlplus中,你可以运行匿名PL/SQL块。
DECLARE
v_cnt number;
BEGIN
select ... into v_cnt ...;
dbms_output.put_line(v_cnt);
END;
.
spool out.log
/
spool off
他仍然不得不“摆脱”;但是,不是吗?否则,查询字符串是否在输出中? – FrustratedWithFormsDesigner 2010-02-19 21:03:54
优秀的约瑟夫。也会尝试这一个。谢谢!! – Daniel 2010-02-19 21:05:13
虽然查询不在输出中,但列名是。有没有办法让它骑呢? – Daniel 2010-02-19 21:27:22