【发布时间】:2010-09-20 15:49:58
【问题描述】:
我正在尝试执行经典的插入/更新方案,我需要更新数据库中的现有行,或者如果它们不存在则插入它们。
我找到了一个previous question on the subject,但它处理的是我没有使用的存储过程。我只想使用普通的 SQL SELECT、INSERT 和 UPDATE 语句,除非有更好的方法可用(在 SQL Server 2005 中没有 MERGE 语句)。
我想我的总体思路是这样的:
If the row is found
update
else
insert
至于检查一行是否存在,在调用 UPDATE 或 INSERT 之前执行 SELECT 语句的成本是多少?还是只尝试 UPDATE,检查受影响的行数,如果受影响的行数为 0,则执行 INSERT 更好?
【问题讨论】:
标签: sql sql-server-2005 insert-update