您好我希望将查询输出到批处理变量中。所以我做了
sqlcmd /U sqladmin /P pwd /d mydb /v nesql= xxx hostsql = yyy -e /I /Q "set nocount on;select count(*) from mytable where host='$(hostsql)' and ( LocaA='$(nesql)' or LocaB='$(nesql)' )" -h -1 >prajyodh.txt
我正在获取输出但是使用正确的查询获得额外的第一行。
set nocount on;select count(*) from mytable where host='yyy' and ( LocaA='xxx' or LocaB='xxx' )
11105
我希望得到第一行,以便我可以通过
来计算变量set /p varname=<prajyodh.txt
并在我的批处理脚本中进一步使用它。
我已经通过sqlcmd-? 但我找不到合适的选择。
请帮忙。谢谢。
答案 0 :(得分:1)
1.这种方法与你的方法类似:
< prajyodh.txt (
set /p line1=
set /p line2=
)
set line
2。 FOR / F且没有临时文件。
for /f "skip=1 tokens=* delims=" %%s in ('sqlcmd /U sqladmin /P pwd /d mydb /v nesql= xxx hostsql = yyy -e /I /Q "set nocount on;select count(*^) from mytable where host='$(hostsql^)' and ( LocaA='$(nesql^)' or LocaB='$(nesql^)' ^)" -h -1^) do (
set "second_line=%%S"
goto :break
)
:break