【发布时间】:2023-04-11 03:19:01
【问题描述】:
我想用递增的数字更新我的列 CODE_DEST。我有:
CODE_DEST RS_NOM
null qsdf
null sdfqsdfqsdf
null qsdfqsdf
我想将其更新为:
CODE_DEST RS_NOM
1 qsdf
2 sdfqsdfqsdf
3 qsdfqsdf
我试过这段代码:
UPDATE DESTINATAIRE_TEMP
SET CODE_DEST = TheId
FROM (SELECT Row_Number() OVER (ORDER BY [RS_NOM]) AS TheId FROM DESTINATAIRE_TEMP)
这不起作用,因为)
我也试过了:
WITH DESTINATAIRE_TEMP AS
(
SELECT
ROW_NUMBER() OVER (ORDER BY [RS_NOM] DESC) AS RN
FROM DESTINATAIRE_TEMP
)
UPDATE DESTINATAIRE_TEMP SET CODE_DEST=RN
但是由于联合,这也不起作用。
如何在 SQL Server 2008 R2 中使用 ROW_NUMBER() 函数更新列?
【问题讨论】:
-
发布示例数据和预期结果,这是获得 SQL 答案的最佳方式。否则你的 ?没有意义,会产生这样的答案
UPDATE myCol = myCol+1 FROM MyTable WHERE ID=@MyID
标签: sql-server sql-server-2008-r2 sql-update