我如何设置更改表后添加的列的值等于sql server 2008中的行号。也就是说,我希望该列的值等于行号。的行。我还希望该字段允许 NULL 值。因此,它就像自动增量但允许空值,这就是为什么不想使用具有自动增量的标识或主键列。那么如何才能设置为row no呢?任何帮助将不胜感激。
如果您尝试直接使用 ROW_NUMBER() 更新列,您将得到...
窗口函数只能出现在 SELECT 或 ORDER BY 子句中。
...所以改为 INNER JOIN 表本身...
UPDATE
[test123]
SET
[row_number] = [x].[rn]
FROM
[test123]
INNER JOIN
(
SELECT
[test_id],
ROW_NUMBER() OVER (ORDER BY [test_id]) AS rn
FROM
[test123]
) AS x
ON
[test123].[test_id] = [x].[test_id]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)