You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell向SQL脚本传递数组参数时遭遇sqlcmd参数错误的问题求助

PowerShell向SQL脚本传递数组参数时遭遇sqlcmd参数错误的问题求助

各位好,我最近在处理一个数据库批量删除的需求,写了个相对复杂的SQL脚本,打算先把要删除的记录ID存到临时表里再执行后续操作,SQL代码是这样的:

DECLARE @RunIDsToDelete TABLE (RunID INT);

INSERT INTO @RunIDsToDelete (RunID)
VALUES
       N'$(runIDs)'

这里的ID列表我希望通过PowerShell脚本作为参数传递进去,同时SQL脚本执行完成后要给PowerShell返回确认信息。我在PowerShell里是这么处理的:

$runIds = @(1, 2)
$paramList = $runIds -join ","

$sqlCommand = "sqlcmd -S sql1 -d mydb -i $($sqlScriptPath) -v IDs=$paramList"

结果运行后直接报错了,错误信息如下:

sqlcmd : Sqlcmd: ',(2),(4)': Invalid argument. Enter '-?' for help.

  • CategoryInfo : NotSpecified: (Sqlcmd: ',(2),(... '-?' for help.:String) [],
    RemoteException
  • FullyQualifiedErrorId : NativeCommandError

实在搞不清问题出在哪,有没有懂的朋友帮忙指点一下?

备注:内容来源于stack exchange,提问作者Enrico

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 14:13:10