You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为SQL Server 2017中相同Subtype的行批量更新相同的uniqueidentifier值

解决方案:为同Subtype批量生成统一UniqueIdentifier

没问题,针对你在SQL Server 2017里的需求,我给你准备了一条单语句的更新方案,完全适配大量数据和数百种Subtype的场景,不用手动逐个处理:

WITH SubtypeGuids AS (
    SELECT 
        Subtype,
        NEWID() AS NewGuid
    FROM 
        YourTableName
    GROUP BY 
        Subtype
)
UPDATE t
SET t.RelatedUniqueID = sg.NewGuid
FROM YourTableName t
JOIN SubtypeGuids sg ON t.Subtype = sg.Subtype
WHERE t.RelatedUniqueID IS NULL; -- 可选:仅更新未设置过值的行

关键说明:

  • 先用CTE SubtypeGuids 按Subtype分组,每个分组生成唯一的NEWID()值,确保同Subtype的所有行共享同一个GUID。
  • 通过JOIN关联原表和CTE,一次性批量更新所有匹配行的RelatedUniqueID字段,效率拉满。
  • 末尾的WHERE条件是可选优化:如果后续表中会新增行,下次运行时只会更新还没设置GUID的行,不会覆盖已有的值。

你只需要把YourTableName替换成实际的表名就可以直接运行,这条语句完全满足你“单条语句、自动适配所有Subtype”的要求。

内容的提问来源于stack exchange,提问作者Onthrax

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 11:29:07