[英]SQLPlus batch file - how to return to command prompt?
我正在尝试将 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,将表假脱机到一个文本文件,将文本文件移动到网络,然后退出。
退出后的“/”将终止脚本并返回到批处理文件。 将 exit 和 / 放在 sql 脚本的末尾:
设置 colsep ,;
设置页面大小 0;
设置修剪轴;
开始前行;
设置线宽 9999;
线轴 d:\\tablename.csv;
从 robmat.rdok 中选择 *;
脱线;
出口;
/
现在它可以与您的初始批处理文件一起使用,您可以在其中将移动命令放在第二行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.