我使用一种简单的方法来更新SQL Server 2008 R2中的数据,这需要2个查询和一些逻辑。基本上,SELECT
查询,如果匹配找到UPDATE
查询,则查询INSERT
。
当我插入时,我使用SELECT SCOPE_IDENTITY() as id;
来获取行的ID,当我更新时,我已经从SELECT
查询获得了id。然后我将以上所有内容转换为优雅的MERGE
查询。然后是受影响的行的id,scope_identity不再有效。
如何从MERGE
查询中获取插入或更新的行的ID。