SQLPlus批处理文件 - 如何返回命令提示符?

时间:2014-05-22 13:50:01

标签: oracle batch-file sqlplus

我尝试将Oracle表格导出为文本文件。我有这个工作,但我还需要在导出结束后将文本文件从一个位置复制到另一个位置。在SELECT语句之后,如何从SQL>提示符回到C:\提示符?

我有一个批处理文件select.bat,它执行此操作:

echo @d:\users\myusername\desktop\sqlscript.sql | sqlplus mylogin/mypassword

和sqlscript.sql看起来像这样:

set colsep ,
set pagesize 0
set trimspool on
set headsep off
set linesize 9999
spool d:\users\myusername\desktop\tablename.csv
select * from tablename;
spool off

我运行批处理文件,一切都很好。如何添加如下行:

move d:\users\myusername\desktop\tablename.csv "\\server\share\myfolder\" 

是在.bat文件中还是在.sql文件中?

谢谢!

更新:

我将批处理文件更改为:

start cmd.exe /k "sqlplus mylogin/mypassword @d:\users\myusername\desktop\sqlscript.sql & move /y d:\users\jjb4211\desktop\tablename.csv \\servername\sharename\myfolder & exit"

在SQl文件中,我在exit

之后添加了spool off

所以现在我可以运行.bat文件,它会打开一个新的命令提示符,连接到Oracle,将表空转到文本文件,将文本文件移动到网络,然后退出。

1 个答案:

答案 0 :(得分:0)

退出后

'/'将终止脚本并返回批处理文件。将退出和/放在sql脚本的末尾:

设置colsep,;

设置pagesize 0;

设置trimspool;

关闭headsep;

设置linesize 9999;

spool d:\ tablename.csv;

从robmat.rdok中选择*;

假脱机;

出口;

/

现在它适用于您的初始批处理文件,您将把移动命令放在第二行。

相关问题