我试图实现this示例,但我需要从用户输入向t.sql
发送参数,如下所示:
t.sql
set timing off
set feedback off
set pages 0
select sysdate from dual;
exit
批处理文件
SET /P %arg%="Please enter argument for t.sql: "
FOR /F "usebackq delims=!" %%i IN (`sqlplus -s u/p@db @t.sql %arg%`) DO set xresult=%%i
echo %xresult%
但是sqlplus没有收到%arg%
看起来很简单,但如何正确地将%arg%的内容放入IN(``)?
答案 0 :(得分:1)
你应该这样写:
@echo off
SET /P "arg=Please enter argument for t.sql: "
echo %arg%
Pause
FOR /F "usebackq delims=!" %%i IN (`sqlplus -s u/p@db @t.sql %arg%`) DO set xresult=%%i
echo %xresult%
Pause