【发布时间】:2016-12-18 23:03:26
【问题描述】:
我已经得到了我想要的大部分内容,我只需要知道如何去做;
- 从sql结果中收集变量
- 根据收集到的变量结果采取下一步行动
我需要发生的事情放在一个;
如果updatedDate 早于3 天前,则GOTO BREXIT(忽略时间)。我更愿意在 *.sql 之外处理它,因为我想在其他应用程序中使用它。
例如1
- 更新日期 = 5/12/2016 14:30
- 3 天前 = 2/12/2016 00:00
- 结果 = 转到提取物
例如2
- 更新日期 = 6/12/2016 02:30
- 3 天前 = 2/12/2016 00:00
- 结果 = 脱欧
目前代码如下(评论还没编码):
echo Check last update
sqlcmd -S MYSERVER\JD2016 -d OMNITRIX -Q "SET NOCOUNT ON SELECT MAX(updateDateTime) 'updatedDate' FROM dbo.Names;" -h-1 -b
::(if statement would go here)
:EXTRACT
echo Running Omnitrix Extract
sqlcmd -S MYSERVER\JD2016 -d OMNITRIX -i "C:\update.sql" -W -s; -h-1 > "C:\result.csv" -b
echo Omnitrix has been extracted
GOTO END
::(:BREXIT)
::(echo Please Update the Omnitrix)
:END
pause
【问题讨论】:
-
在批处理文件中查看有关 IF ELSE 的链接:stackoverflow.com/questions/11081735/…
-
感谢您的回复!我知道如何处理流程 - 我的问题或多或少,如何将查询结果(即 2016 年 5 月 12 日 15:13)捕获到 x 中,只读取日期(2016 年 5 月 12 日)然后比较该日期到当前日期 - 3
-
如果你有解决方案,你可以在这里发布它作为答案,甚至接受它......
-
虽然我实际上没有解决方案...我不知道如何将 05/12/2016 设置为 x 然后使用它
标签: sql-server tsql batch-file cmd sqlcmd