繁体   English   中英

如果sqlcmd变量具有特定值,则执行更新语句

[英]Execute an update statement if sqlcmd variable has a specific value

我有一个SQL脚本,它创建一些数据库结构并为应用程序插入数据。 如果开头定义的变量的值为True则应跳过某些CREATE TABLE语句,并应更新某些数据。

现在看起来像这样:

-- If this variable is set to "True" experimental build will be used
:setvar USE_EXPERIMENTAL "True"
[...]
IF ('$(USE_EXPERIMENTAL)' = 'True')
BEGIN
UPDATE MyTable SET Col1 = 'Value123'
END

它说所有命令都已成功执行,但是MyTable的值未设置为Value123

经过一些研究,我也尝试了此尝试,但没有成功:

EXEC sp_executesql 'UPDATE MyTable SET Col1 = ''Value123'''

是否有可能实现这种行为?

编辑:似乎我的SQL Server Management Studio出现错误。 当我在新窗口中执行第一条语句时,它运行良好

尝试更改UPDATE行以选择“我在这里”或打印“我在这里”

确保它到达那里。 如果不是,请尝试将变量类型从布尔值更改为其他值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM