Powershell 使用SQLCMD连接更新中的变量
我试图在SQLCMD中的查询中使用Concat,但没有效果 有什么可能:Powershell 使用SQLCMD连接更新中的变量,powershell,sqlcmd,Powershell,Sqlcmd,我试图在SQLCMD中的查询中使用Concat,但没有效果 有什么可能: Invoke-Sqlcmd ` -Database $database ` -ServerInstance $server ` -username $dbusername ` -password $dbpassword ` -Query "UPDATE $table SET $x=Concat($x, $y) where id=$id" 我得到: 调用Sqlcmd:靠近“')”的语
Invoke-Sqlcmd `
-Database $database `
-ServerInstance $server `
-username $dbusername `
-password $dbpassword `
-Query "UPDATE $table SET $x=Concat($x, $y) where id=$id"
我得到:
调用Sqlcmd:靠近“')”的语法不正确
您可以尝试自己组合字符串:
if (-not $x)
{
$x = [string]::Empty
}
if (-not $y)
{
$y = [string]::Empty
}
Invoke-Sqlcmd `
-Database $database `
-ServerInstance $server `
-username $dbusername `
-password $dbpassword `
-Query "UPDATE $table SET $x=$($x + $y) where id=$id"
您可以尝试自己组合字符串:
if (-not $x)
{
$x = [string]::Empty
}
if (-not $y)
{
$y = [string]::Empty
}
Invoke-Sqlcmd `
-Database $database `
-ServerInstance $server `
-username $dbusername `
-password $dbpassword `
-Query "UPDATE $table SET $x=$($x + $y) where id=$id"
什么是$x和$y?你只是想合并这两个字符串吗?我同意@MartinBrandl的观点,请解释你试图实现的目标,而不仅仅是你尝试时出现的错误。$x是一个可空字符串,$y基本上是$x来自表,$y来自文件,我必须将两者连接起来。什么是$x和$y?你只是想将这两个字符串组合起来吗?我同意@MartinBrandl的观点,请解释你试图实现的目标,而不仅仅是你试图实现的错误。$x是一个可为空的字符串,$y基本上是$x来自表,$y来自文件,我必须将两者连接起来。