我正在尝试执行经典的插入/更新方案,我需要更新数据库中的现有行,或者如果它们不存在则插入它们。
我在这个主题上找到了一个先前的问题,但它处理的是我没有使用的存储过程。我只想使用普通的 SQL SELECT、INSERT 和 UPDATE 语句,除非有更好的可用(SQL Server 2005 中没有 MERGE 语句)。
我想我的总体想法是这样的:
If the row is found
update
else
insert
至于检查一行是否存在,在调用 UPDATE 或 INSERT 之前执行 SELECT 语句的成本是多少?还是只尝试更新,检查受影响的行数,然后在受影响的行为 0 时执行 INSERT 是否更好?