如何在触发器中使用配置参数

时间:2016-06-14 11:21:06

标签: sql sql-server configuration sql-server-data-tools

我想在Visual Studio 2013中定义的SSDT数据库中为我的表添加一个触发器。触发器可以通过" Add New Trigger"添加。在可视化表视图中。但是,使用SQLCMD变量似乎不是表定义中的一个选项,因为它包含在构建中。所以我创建了一个postdeploy脚本,它将添加触发器,这也会产生错误。将触发器添加为独立脚本运行正常但无法实际添加触发器,因此看起来它什么都不做。

变量在项目属性中定义为$(VariableName) 无论如何使用它们,它们总是会产生无用的错误。我在其他地方使用所述变量,但在创建触发器时似乎有些特殊。

直接使用它们就像:

DECLARE @variable nvarchar(50) = $(VariableName)

错误:" SQL80001:' VariableName'附近的语法不正确。期待'('或SELECT"

将它们放在如下字符串中:

DECLARE @variable nvarchar(50) = '$(VariableName)'

只需将变量名称设置为变量,而不检索配置的值。

将其括在方括号中,如:

DECLARE @variable nvarchar(50) = [$(VariableName)]

删除编译时的错误并检索该值,但在部署时会产生错误:"无效的列名'值'"

使用SQLCMD配置制作触发器的正确​​方法是什么?

0 个答案:

没有答案