我必须在oracle 11g database
内的SQLDeveloper 3.1
上运行多个查询。
例如:
select * from product;
select * from customer;
select * from prices;
目前我正在“按手”导出结果集,我只需右键单击onto the result and then
导出它。
我想自动将每个查询的结果集保存在特定文件夹中。
任何建议我如何做到这一点?
更新
我尝试使用csv
以及txt
的{{1}}扩展:
testFile
但是,当我打开文件时,我得到csv和txt以下结果:
spool C:\Users\User\Desktop\testFile.csv --I tried also .txt extension here!!!
set colsep ';'
select * from product;
spool off;
感谢您的回复!
答案 0 :(得分:1)
set echo off
set feedback off
set linesize 1000
set pagesize 0
set sqlprompt ''
set trimspool on
spool output.csv
select columnA || ',' || columnB || ',' || ......
from table
where ...
spool off;
exit 0;
然后创建一个调用sql文件的shell脚本
sqlplus >/dev/null 2>&1 "user/pass@DATABASE" << EOF
whenever sqlerror exit 1
@file.sql
EOF
UPDATE刚刚看到你在Windows上,同样的原则仍然适用,你可能需要使用PowerShell
答案 1 :(得分:0)
您可以使用假脱机,http://docs.oracle.com/cd/B19306_01/server.102/b14357/ch12043.htm
spool OutFile.txt
select row1||','||row2... from product; --format you prefer
spool off;