当前位置: 首页 > 面试题库 >

SQL Server 2005实现MySQL替换成吗?

翁翰
2023-03-14
问题内容

MySQL具有非常有用但专有的REPLACE INTOSQL命令。

可以在SQL Server 2005中轻松模拟吗?

开始一个新的事务,先执行a Select()然后再执行UPDATEor或INSERTand
COMMIT总是很麻烦,尤其是在应用程序中执行该操作时,因此总是保留该语句的2个版本。

我想知道是否有一种简单且 通用的 方法将这种功能实现到SQL Server 2005中?


问题答案:

这让我很不喜欢MSSQL(博客上的rant)。我希望MSSQL受支持upsert

@ Dillie-O的代码在较旧的SQL版本(+1票)中是个好方法,但它基本上仍然是两个IO操作(the exists然后the
updateinsert)。

基本上,这篇文章有一个更好的方法:

--try an update
update tablename 
set field1 = 'new value',
    field2 = 'different value',
    ...
where idfield = 7

--insert if failed
if @@rowcount = 0 and @@error = 0
    insert into tablename 
           ( idfield, field1, field2, ... )
    values ( 7, 'value one', 'another value', ... )

如果是更新,则减少为一个IO操作,如果是插入则为两个。

MS Sql2008 merge从SQL:2003标准引入:

merge tablename as target
using (values ('new value', 'different value'))
    as source (field1, field2)
    on target.idfield = 7
when matched then
    update
    set field1 = source.field1,
        field2 = source.field2,
        ...
when not matched then
    insert ( idfield, field1, field2, ... )
    values ( 7,  source.field1, source.field2, ... )

现在,它实际上只是一个IO操作,但是代码很糟糕:-(



 类似资料:
  • 本文向大家介绍js 单引号替换成双引号,双引号替换成单引号的实现方法,包括了js 单引号替换成双引号,双引号替换成单引号的实现方法的使用技巧和注意事项,需要的朋友参考一下 1.双引号替换成单引号 2.单引号替换成双引号 以上这篇js 单引号替换成双引号,双引号替换成单引号的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 本文向大家介绍java实现查找替换功能,包括了java实现查找替换功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java实现查找替换功能的具体代码,供大家参考,具体内容如下 查找 查找下一处 替换 替换下一处 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 使用ScalaTest,我想替换测试用例中的函数实现。我的用例: 我想写一个单元测试,但我不希望此测试用例依赖于测试运行的实际年份。 在动态语言中,我经常使用一个可以替换函数实现以返回固定值的构造。 我希望我的测试用例更改始终返回2014,无论实际年份是什么。 我发现了几个模拟库(Mockito、ScalaMock等等),但它们都只能创建新的模拟对象。它们似乎都无法取代方法的实现。 有办法做到吗?

  • 问题内容: 我有一列包含网址(ID,网址)的列: 我想将“更新”一词更改为“新闻”。是否可以使用脚本执行此操作? 问题答案: 现在的行就像 将会 http://www.electrictoolbox.com/mysql-find-replace- text/

  • All linebreaks will be converted to <br /> tags in the given variable. This is equivalent to the PHP nl2br() function. 所有的换行符将被替换成 <br />.功能同PHP中的nl2br()函数一样. Example 5-14. nl2br 例 5-14.换行符替换成<br /> i

  • 本文向大家介绍Python实现将绝对URL替换成相对URL的方法,包括了Python实现将绝对URL替换成相对URL的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python实现将绝对URL替换成相对URL的方法。分享给大家供大家参考。具体分析如下: 一、问题: 公司一个项目需要上传图片,一开始同事将图片上传后结合当前主机拼成了一个绝对的URL(http://192.168.1.1