首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VS2017 DBPROJ SQLCMD文字值变量测试

VS2017 DBPROJ SQLCMD文字值变量测试
EN

Stack Overflow用户
提问于 2019-01-29 06:30:36
回答 1查看 27关注 0票数 0

我想有条件地运行部署后脚本。我的脚本(当前)如下所示:

代码语言:javascript
复制
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)。

谢谢!!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-09 04:23:42

结果是,你需要用单引号将变量use括起来。要使上面的代码正常工作,代码应该是:

代码语言:javascript
复制
if( '$(tier)' = 'TEST' )

因此,尽管看起来您使用的是字面上的"$(tier)",但它实际上被从引号中提取出来,解释并放回原处。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54411237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档