如何使用sqlcmd.exe调用带参数的存储过程?

Mar*_*oms 13 sql-server powershell stored-procedures sqlcmd

我需要调用存储过程并从Powershell传递参数.我认为最好的选择是使用sqlcmd.exe,但我不知道如何使用此工具将参数传递给存储过程.

Rem*_*anu 14

sqlcmd.exe通过/v参数支持变量替换和参数,请参阅使用sqlcmd和Scripting Variables.例如:

sqlcmd -E -d <mydb> -Q "exec usp_myproc @variable=$(myparam)" /v myparam=1
Run Code Online (Sandbox Code Playgroud)

将调用将值1传递给脚本以替换变量的过程$(myparam).请注意,sqlcmd变量替换是$(variable)在sqlcmd中发生的字符串替换,因为批处理(请求)被发送到SQL Server.