我想有条件地运行部署后脚本。我的脚本(当前)如下所示:
declare @tier nvarchar(100) = $(tier)
if( @tier = 'TEST' )
begin
:r .\ConfigSeedData.TEST.sql
end我已经在项目文件中定义了该变量,详见Using variable in sql postdeployment build script?。该变量(目前)定义为TEST (没有引号,但我也尝试过使用引号)。
然而,无论我如何尝试改变我的语法,我总是得到这个错误:.Net SqlClient Data Provider: Msg 207, Level 16, State 1, Line 875 Invalid column name 'TEST'.
如何检查sqlcmd变量的文字值,而不是列?
我尝试在$()两边添加方括号,尝试直接访问值(而不是赋值给nvarchar)。
谢谢!!
发布于 2019-02-09 04:23:42
结果是,你需要用单引号将变量use括起来。要使上面的代码正常工作,代码应该是:
if( '$(tier)' = 'TEST' )因此,尽管看起来您使用的是字面上的"$(tier)",但它实际上被从引号中提取出来,解释并放回原处。
https://stackoverflow.com/questions/54411237
复制相似问题