Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
合并时SQL Server追加列_Sql_Sql Server - Fatal编程技术网

合并时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”匹配的行。然后限定表达式右侧的列名。