合并时SQL Server追加列
我需要附加一个列数据,同时我需要检查主键是否已经存在。所以我使用下面的方法来检查主键是否存在,然后分别进行更新或创建。但我想将数据添加到会议列(如果已经存在的话)。有人能提出解决办法吗合并时SQL Server追加列,sql,sql-server,Sql,Sql Server,我需要附加一个列数据,同时我需要检查主键是否已经存在。所以我使用下面的方法来检查主键是否存在,然后分别进行更新或创建。但我想将数据添加到会议列(如果已经存在的话)。有人能提出解决办法吗 MERGE INTO tblStatus WITH (HOLDLOCK) AS target USING (SELECT '2018-06-18' AS sdate, 15813 AS Meeting) AS source (sdate, Meeting) ON (target.sda
MERGE
INTO tblStatus WITH (HOLDLOCK) AS target
USING
(SELECT '2018-06-18' AS sdate, 15813 AS Meeting) AS source (sdate, Meeting)
ON
(target.sdate = source.sdate)
WHEN MATCHED THEN
UPDATE
[tblStatus] SET Meeting = 12000
WHEN NOT MATCHED THEN
INSERT
(sdate, Meeting) VALUES ('2018-06-18', 15813);
找到了答案。我需要使用“Meeting+=12000”。它就像许多编程语言一样。更典型的解决方案是
SET Meeting=Meeting+12000
。谢谢@GordonLinoff。当我按照你的建议使用时,它给出了模棱两可的列名错误。如何更新查询以使列名引用sdate与“2018-06-18”匹配的行。然后限定表达式右侧的列名。