mvc中ON DUPLICATE KEY UPDATE的问题

时间:2017-06-30 18:24:26

标签: c# sql sql-server-2008-r2 sql-insert

我在c#类中编写了以下查询。

hitArea

但是我在运行上面的查询时遇到了错误,

  

关键字“ON”附近的语法不正确。

1 个答案:

答案 0 :(得分:0)

使用MERGE,演示

DECLARE @ui TABLE(
    col1 INT PRIMARY KEY,
    col2 INT 
    )

INSERT INTO @ui(col1,col2) 
VALUES (1,100), (2,200);

-- parameters
DECLARE  @c1 INT = 1,  @c2 INT = 300;

MERGE @ui AS T
USING (
    VALUES (@c1,  @c2)
) AS S(col1,col2)
ON (T.col1 = S.col1)
WHEN NOT MATCHED BY TARGET
    THEN INSERT(col1,col2) VALUES(S.col1,S.col2)
WHEN MATCHED 
    THEN UPDATE SET T.col2 = S.col2;

SELECT * 
FROM @ui

假设col1是PK,在您的c#代码中只需将<{1}}替换为

string query = ...