我正在尝试编写一个批处理脚本来在数据库上运行 sql 文件。我希望脚本将 sql 查询执行的结果放入日志文件中(使用类似 >> SQl_LOGS.txt 的内容)。这很好,但如果他/她想继续执行下一个 SQl,我想获取用户输入查询与否。
一切,甚至暂停都重定向到日志文件,因此我无法在控制台上提供任何输入。
在 for 循环中调用的子程序:
:ProcessQuery
(
echo WHENEVER SQLERROR EXIT 1
echo WHENEVER OSERROR EXIT 1
echo @%query% XXuser // This should be sent top a log file
) | sqlplus XXuser/XXpwdr@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=XX.XX.XX.XX)(Port=XXXX))(CONNECT_DATA=(SID=XXXX)))
echo error level is : %ERRORLEVEL%
IF %ERRORLEVEL% == 1 (
ECHO WARNING : QUERY %query% EXECUTION ERROR ! // these 3 lines should come up in the
// console
echo PLEASE FIX THE ERROR AND THEN HIT ENTER.
pause
) ELSE (
echo %str% %query%
ECHO INFO : QUERY %query% EXECUTION SUCCESSFUL !
)
可以将相同的批处理脚本输出到日志文件并从控制台获取用户输入吗?有没有办法我可以做到这一点?