单个文件中的批处理文件SQL脚本

时间:2019-02-28 07:19:15

标签: batch-file sqlplus

我正在使用.sql脚本来运行

@ECHO OFF
SET /p usr=username: 
SET /p pwd=password: 
SET /p dbname=dbname: 
set /p tablename=tablename:

sqlplus %usr%/%pwd%@%dbname%.sql

select * from table where (something);
select (something) from table where (something);
exit;

.bat文件和.sql脚本需要在一个文件中,因此我无法调用.sql文件。 有任何想法吗? (如果有帮助,我正在使用Windows 7)

1 个答案:

答案 0 :(得分:0)

只是一个想法,但是为什么不从bat文件中创建sql文件,向其中写入sql命令,然后执行它。完成后,您可以删除sql文件。

@ECHO OFF
SET /p usr=username: 
SET /p pwd=password: 
SET /p dbname=dbname: 
set /p tablename=tablename:

SET "sql1=select * from table where ^(something^)^;"
SET "sql2=select ^(something^) from table where ^(something^)^;"
SET "sql3=^(SELECT 1 + LEVEL-1 idx FROM dual CONNECT BY LEVEL ^<^= 10^)^;"

@echo %sql1% > temp.sql
@echo %sql2% >> temp.sql
@echo %sql3% >> temp.sql

sqlplus %usr%/%pwd% @temp.sql

代码已更新,允许需要转义的特殊字符,请使用^来转义特殊字符。

您可能还想看看this answer

希望一切顺利。