我正在尝试使用Invoke-SqlCmd
启动脚本作为包含 SQLCMD 变量的输入文件执行 SQL 查询,如 $(varPROJECTNAME)。
例如:
CREATE DATABASE [$(varPROJECTNAME)$(varDBNAME)]
在这种情况下,我希望能够将空字符串设置为varPROJECTNAME
值。
此请求将使用经典 SQLCMD 工具成功运行,但使用 Invoke-SqlCmd,我得到错误,脚本变量 varPROJECTNAME 未定义。
Invoke-Sqlcmd -Username $LoginSQL -Password $PasswordSQL -ServerInstance $InstanceSQL -Verbose -InputFile "$rootPackage\DB\UpdateDB\00-initSql\00-SubsTechCreateDatabase.sql" -Variable "varPROJECTNAME=$projectName","varDBNAME=$DatabaseName"
上面的情况,如果 $projectName=""
,会报错
是否可以设置调用 Invoke-SqlCmd 的默认值,或者从 sql 脚本的角度来看,在未定义变量时为其分配默认值?
非常感谢您的帮助