【发布时间】:2015-04-02 11:35:59
【问题描述】:
我有一个使用批处理文件执行的简单 sql 查询。我通过提供参数来调用批处理文件。
SQL
Select empSal from Emp_Master where empID = '&2';
exit
批处理文件
sqlplus -s myusername/mypass@%1 @E:\fetchEmpSal.sql %2 > E:\fetchEmpSal_log.txt
%1 - 将是我的数据库名称或实例名称。 %2 - 将是我的 empId。
这就是我调用批处理文件的方式。我打开 CMD,导航到路径并输入以下内容。
fetchEmpSal.bat mydb 1011
现在,批处理文件运行正常,但每次都要求输入 empID。这是通过批处理文件将参数传递给sql的正确方法吗?请帮忙
编辑:
现在当我使用上述方法调用批处理文件时,命令更改如下。
sqlplus -s myusername/mypass@mydb @E:\fetchEmpSal.sql 1011 > E:\fetchEmpSal_log.txt
但是,1011 没有作为参数传递给 SQL。这就是它过去的工作方式,但我不知道为什么它不起作用。任何帮助,将不胜感激。
【问题讨论】:
标签: sql oracle batch-file sqlplus