当前位置:  开发笔记 > 数据库 > 正文

在不使用存储过程的情况下在SQL Server 2005上插入/更新

如何解决《在不使用存储过程的情况下在SQLServer2005上插入/更新》经验,为你挑选了1个好方法。

我正在尝试执行经典的插入/更新方案,我需要更新数据库中的现有行,或者如果它们不存在则插入它们.

我已经找到了关于这个主题的上一个问题,但是它涉及我不使用的存储过程.我想只使用简单的SQL SELECT,INSERT和UPDATE语句,除非有更好的可用(MERGE语句在SQL Server 2005中不可用).

我想我的一般想法是这样的:

If the row is found
  update
else
  insert

至于检查行​​的存在,在调用UPDATE或INSERT之前执行SELECT语句有多昂贵?或者最好只尝试UPDATE,检查受影响的行数,然后在受影响的行为0时执行INSERT?



1> Sören Kuklau..:

最有效的方法是执行UPDATE,然后执行INSERTif @@rowcount为零,如前面的答案所述.

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有