gpt4 book ai didi

具有特定数字范围的 SQL UPDATE 表行范围

转载 作者:行者123 更新时间:2023-12-05 02:21:43 27 4
gpt4 key购买 nike

我正在尝试使用这个脚本:

UPDATE tablename
SET tablecolumn = abs(checksum(NewId()) % 100 + 1)
WHERE ID between 162 and 166

我想做的是将第 162 行更新为第 166 行,其中有 1-5 个类似

162 1
163 2
164 3
165 4
166 5

最佳答案

您可以使用 ROW_NUMBER() 生成序列。但是 SET column = ROW_NUMBER() ... 不起作用。相反,您需要在内联 View (或 CTE)中选择值,然后更新值

UPDATE t
SET t.tablecolumn = t.tablecolumn_new
FROM (
SELECT id, tablecolumn, ROW_NUMBER() OVER (ORDER BY [id]) AS tablecolumn_new
FROM tablename
WHERE id between 162 and 166
) t;

DEMO

关于具有特定数字范围的 SQL UPDATE 表行范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32530505/

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