gpt4 book ai didi

sql - 使用序列更新现有记录的最快方法是什么?

转载 作者:行者123 更新时间:2023-12-02 18:40:31 26 4
gpt4 key购买 nike

我有一个包含主键、外键和空序列值的数据集。根据外键向数据添加序列号的最快方法是什么?

QuestionConditionId 是我的主键,QuestionId 是外键。这是在 QuestionId 上使用 order by 选择后数据的样子:

enter image description here

更新后我的数据应如下所示:

enter image description here

我可以为此编写一个循环,但我希望有更小、更高效的循环。有什么想法吗?

最佳答案

WITH T
AS (SELECT *,
ROW_NUMBER() OVER (PARTITION BY QuestionId
ORDER BY QuestionConditionId ) AS RN
FROM YourTable)
UPDATE T
SET Sequence = RN

但是在插入、更新、删除后保持此 Sequence 列同步可能会比其值(value)更麻烦。您还可以使用 ROW_NUMBERSELECT 时间计算而不是存储它。

关于sql - 使用序列更新现有记录的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14399509/

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