我试过
select * from users
save D:\test.sql create;
但是 SQL plus 给了我“没有正确的结束” 如何在 windows 中的 oracle sql 中指定路径?
使用线轴:
spool myoutputfile.txt
select * from users;
spool off;
请注意,这将在您运行 SQL*Plus 的目录中创建 myoutputfile.txt。
如果您需要在 SQLPlus 启动时从 SQL 文件(例如,“tmp.sql”)运行它并输出到名为“output.txt”的文件:
tmp.sql:
select * from users;
命令:
sqlplus -s username/password@sid @tmp.sql > output.txt
请注意,我现在没有 Oracle 实例,因此您可能需要自己做一些工作来调试我从内存中编写的内容。
与 Marc 非常相似,唯一的区别是我将假脱机设置为如下参数:
WHENEVER SQLERROR EXIT 1
SET LINES 32000
SET TERMOUT OFF ECHO OFF NEWP 0 SPA 0 PAGES 0 FEED OFF HEAD OFF TRIMS ON TAB OFF
SET SERVEROUTPUT ON
spool &1
-- Code
spool off
exit
然后将 SQLPLUS 称为
sqlplus -s username/password@sid @tmp.sql /tmp/output.txt
spool "D:\test\test.txt"
select
a.ename
from
employee a
inner join department b
on
(
a.dept_id = b.dept_id
)
;
spool off
此查询将在 D:\test\test.txt 中后台处理 sql 结果
只是为了使答案 2 更容易,您还可以定义可以放置保存文件的文件夹
spool /home/admin/myoutputfile.txt
select * from table_name;
spool off;
之后仅使用 nano 或 vi myoutputfile.txt,您将看到所有 sql 轨道。
希望有帮助:)
在 Windows 10 和 Windows Server 2012 上做同样的工作。我找到了以下解决方案:
echo quit |sqlplus schemaName/schemaPassword@sid @plsqlScript.sql > outputFile.log
echo quit |
sqlplus
脚本完成后发送 quit 命令退出
sqlplus schemaName/schemaPassword@sid @plsqlScript.sql
使用连接到 SID的密码plsqlScript.sql
在模式中执行 plssql 脚本schemaName
schemaPassword
sid
> outputFile.log
将 sqlplus 输出重定向到日志文件outputFile.log