如何使用 sqlcmd.exe 调用带有参数的存储过程?
我需要调用存储过程并从 Powershell 传递参数。我认为最好的选择是使用 sqlcmd.exe,但我不确定如何使用此工具将参数传递给存储过程。
I need to call a stored procedure and pass arguments in from Powershell. I think the best option is to use sqlcmd.exe but I'm not sure how to pass arguments to the stored proc using this tool.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
sqlcmd.exe 通过
/v
参数支持变量替换和参数,请参阅使用 sqlcmd使用脚本变量。例如:将调用将值 1 传递给脚本以替换变量
$(myparam)
的过程。请注意,sqlcmd 变量替换是在批处理(请求)发送到 SQL Server 之前在 sqlcmd 中发生的$(variable)
的字符串替换。sqlcmd.exe supports variable substitution and parameters via the
/v
argument, see Using sqlcmd with Scripting Variables. For example:will invoke the procedure passing the value 1 to the script to be substituted for the variable
$(myparam)
. Note that sqlcmd variable substitution is a string replacement of$(variable)
which occurs in sqlcmd, befor the batch (request) is sent to the SQL Server.Invoke-Sqlcmd cmdlet 可让您运行Windows PowerShell 环境中的 sqlcmd 脚本文件。使用 sqlcmd 可以完成的大部分操作也可以使用 调用-Sqlcmd。
示例:
$myparam = "..."
Invoke-Sqlcmd -Query "EXEC sp_myproc $myparam" -ServerInstance "MyComputer\MyInstance"
The Invoke-Sqlcmd cmdlet lets you run your sqlcmd script files in a Windows PowerShell environment. Much of what you can do with sqlcmd can also be done using Invoke-Sqlcmd.
Example:
$myparam = "..."
Invoke-Sqlcmd -Query "EXEC sp_myproc $myparam" -ServerInstance "MyComputer\MyInstance"