Windows 如何通过命令行将参数传递给sql脚本
在我的项目中,有一个要求,我试图自动化一个过程,在这个过程中,sql需要运行以进行每日报告 sql如下所示:(这是最简单的形式,但我的sql有400行,下面只是一个获得结果的示例) test.sqlWindows 如何通过命令行将参数传递给sql脚本,windows,oracle,plsql,oracle11g,plsqldeveloper,Windows,Oracle,Plsql,Oracle11g,Plsqldeveloper,在我的项目中,有一个要求,我试图自动化一个过程,在这个过程中,sql需要运行以进行每日报告 sql如下所示:(这是最简单的形式,但我的sql有400行,下面只是一个获得结果的示例) test.sql select * from table where create_date between &date1 and &date2; 我想创建一个bat文件,该文件调用sqlplus并通过命令提示符传递日期。日期将自动计算,并在命令提示符中传递 我尝试了以下命令行: sqlplus u
select * from table
where create_date between &date1 and &date2;
我想创建一个bat文件,该文件调用sqlplus并通过命令提示符传递日期。日期将自动计算,并在命令提示符中传递
我尝试了以下命令行:
sqlplus userid/password@db_name @test.sql DATE1 DATE2
但这仍然会提示我输入日期1和日期2的日期,我希望自动从参数中提取这些日期
您能帮我实现上述目标吗?如果您的date1和date2用于给出一天(今天/昨天)的范围,您可以使用SQL的Now()方法。从命令行传递的参数在SQLPLUS as&1和&2中可用
select * from table
where create_date between &1 and &2;
<> P>为了防止日期格式化的问题,您可能需要考虑将其更改为
select * from table
where create_date between to_date('&1','DD-MM-YYYY') and to_date('&2','DD-MM-YYYY');
或者您想要使用的任何日期格式。OracleMy bad中不存在方法
Now()
的可能副本。不过,oracle中的当前_DATE函数相当于现在的函数。