我有一个批处理文件应该执行sql server查询并检查count = 0或更多。 if if exit如果不是我运行另一个.exe程序。 当我运行它时,if语句“if ct EQU 0”无法正常工作。在我的表中,计数为零。
@ECHO OFF
SET Header=-----------------------------------------------------
set ct=-1
sqlcmd -S OURDATA\DEVINSTANCE -E -q "SELECT ct=count(*) FROM [dbo].[Table] where Name like '%AMY%' and status=1"
if ct EQU 0 (
echo no count)
goto end
)
if ct GRT 0 (
start "" "C:\test.exe"
if %ERRORLEVEL% NEQ 0 (
echo %header%
Echo There has been an error.
pause
goto end)
)
:end
echo %header%
echo END
由于 [R
答案 0 :(得分:1)
尝试用以下内容替换它:
for /F usebackq %%i in (`sqlcmd -E -S OURDATA\DEVINSTANCE -h-1 -Q "SELECT count(*) FROM [dbo].[Table] where Name like '%AMY%' and status=1"`) do (
set count=%%i
)
希望这会对你有所帮助。