【发布时间】:2014-10-20 00:42:55
【问题描述】:
我有一个包含以下内容的存储过程。
这用于检查某个ID是否存在。如果否,则将新记录插入表中,如果是,则更新现有记录。
该过程按预期工作,但我想知道是否可以使用 MERGE 来稍微改进代码。我如何使用 MERGE 来做到这一点,与我所拥有的相比有什么优点/缺点吗?
BEGIN
IF NOT EXISTS
(
SELECT *
FROM MOC_Comments
WHERE commentID = @commentID
)
BEGIN
INSERT INTO MOC_Comments
(
parentID,
comment
)
SELECT @parentID,
@comment
END
ELSE
BEGIN
UPDATE MOC_Comments
SET parentID = @parentID,
comment = @comment
END
END
【问题讨论】:
-
SQL Server Merge statement 的可能重复项
-
如何
MERGE“最佳实践”你可以在这里找到:technet.microsoft.com/en-us/library/cc879317(v=sql.105).aspx你也可以找到有趣的关于性能的帖子:mssqltips.com/sqlservertip/2651/… -
谢谢大家 - 我会看看这个。
标签: sql sql-server stored-procedures insert merge