我需要运行一个批处理文件并传入一个数据库值。根据日期,需要将不同的值传递给 DOS 命令。这个特定的业务规则是在数据库的一个视图中定义的。
我们的主要调度工具是在 SQLPLUS 中运行脚本的 datastage,所以这是我安排活动的首选方法。我也可以直接运行一个批处理文件来调用 SQLPLUS 并获取一个值,但是设置它有更多的麻烦,所以我不想这样做。
我是 SQLPLUS 爱好者。
下面是我传递给 SQLPLUS 的 SQL 脚本。我遇到的问题是它传入:sTriggerName,而不是它的值。
set echo on
set feedback on
set termout on
VAR sTriggerName VARCHAR2(100)
SELECT TRIGGERNAME INTO :sTriggerName
FROM SCHEMA.VIEW
WHERE CALENDAR_DATE = TRUNC(SYSDATE) AND ROWNUM < 2;
/
HOST "E:\CallScheduleTrigger.CMD :sTriggerName."
quit