gpt4 book ai didi

SQL Server 2005,批量更新或插入

转载 作者:行者123 更新时间:2023-12-05 00:42:24 28 4
gpt4 key购买 nike

我正在寻找一种在 SQL Server 2005 中的重复键更新操作上执行插入的解决方案。此操作可能会插入或更新大量条目。 SQL Server 2008 有一个简洁的 MERGE 操作,可以完美地完成它,问题是我们坚持使用 SQL Server 2005。
我研究了标准解决方案,但它们都不好,因为他们假设只有一个条目被更新/插入。
有谁知道在旧版本的 SQL Server 中复制 MERGE 行为的方法吗?

最佳答案

Alex Kuznetsov's blog包含使用 OUTPUT 的建议UPDATE的条款陈述。转述该博客条目中的示例(未经测试):

DECLARE @updated_ids table(id int)

UPDATE table
SET ...
OUTPUT inserted.id INTO @updated_ids
FROM table INNER JOIN data-to-insert ON table.id = data-to-insert.id

INSERT INTO table
SELECT ...
FROM data-to-insert
WHERE id NOT IN (SELECT id FROM @updated_ids)

关于SQL Server 2005,批量更新或插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2092510/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com