C# 如何将此MySQL查询编写为T-SQL?
我没有把整件事都包括进去,因为我不相信它是相关的。我基本上想插入一行,如果它不存在,否则替换现有的行 MS SQL上不存在REPLACE-INTO或等效项,但您可以先执行更新,如果这没有更新任何内容,请执行插入。看起来是这样的:C# 如何将此MySQL查询编写为T-SQL?,c#,sql,C#,Sql,我没有把整件事都包括进去,因为我不相信它是相关的。我基本上想插入一行,如果它不存在,否则替换现有的行 MS SQL上不存在REPLACE-INTO或等效项,但您可以先执行更新,如果这没有更新任何内容,请执行插入。看起来是这样的: REPLACE INTO blastersmembers (member_id, name, member_group_id, email, joined, /* etc. */ 归功于:MS SQL上不存在替换为或等效项,但您可以先执行更新,如果这没有更新任何
REPLACE INTO blastersmembers (member_id, name, member_group_id, email, joined,
/* etc. */
归功于:MS SQL上不存在替换为或等效项,但您可以先执行更新,如果这没有更新任何内容,请执行插入。看起来是这样的:
REPLACE INTO blastersmembers (member_id, name, member_group_id, email, joined,
/* etc. */
归功于:如果您使用的是SQL server 2008及更高版本,以及更多:
update blastersmembers set name = @name, member_group_id = @member_group_id, email = @email, joined = @joined, ...
where member_id = @member_id
if @@rowcount = 0
insert into blastersmembers (member_id, name, member_group_id, email, joined, ...) values (...)
编辑:@swasheck提到在未修补的服务器或旧服务器上使用某些索引视图时出现合并问题。这不应阻止您使用MERGE命令,MERGE命令是正确的命令,并且具有不需要事务的优点。如果您使用的是SQL server 2008及更高版本,请执行以下操作:
update blastersmembers set name = @name, member_group_id = @member_group_id, email = @email, joined = @joined, ...
where member_id = @member_id
if @@rowcount = 0
insert into blastersmembers (member_id, name, member_group_id, email, joined, ...) values (...)
编辑:@swasheck提到在未修补的服务器或旧服务器上使用某些索引视图时出现合并问题。这不应妨碍您使用MERGE,MERGE是正确的命令,它的优点是不需要事务。听起来像是在寻找MERGE-INTO-SQL语句。有关更多信息,请参阅本文:听起来您正在寻找mergeintosql语句。有关更多信息,请参阅本文: