windows批处理文件执行sql server查询

时间:2014-07-30 18:53:05

标签: sql-server batch-file

我有一个批处理文件应该执行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

1 个答案:

答案 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
)

希望这会对你有所帮助。