如何将值为1...n的列添加到现有表的最后一行,但不作为主键
qzlgjiam1#
向现有表中添加一列,通过CTE创建一个临时结果集,该结果集包含一个列,该列包含原始表中每一行的行号。行号是使用ROW_NUMBER()函数生成的,该函数为结果集中的每一行分配一个唯一的序号。然后使用SET语句向原始表中添加一个新列,并将该列中的每个值设置为临时结果集中对应的行号。示例:
ROW_NUMBER()
SET
-- Add new column ALTER TABLE MyTable ADD RowNumber INT -- Set values of new column to 1 to n ;WITH CTE AS ( SELECT *, ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS RN FROM MyTable ) UPDATE CTE SET RowNumber = RN
此过程可帮助您向现有表中添加序号,而不必手动更新每一行。
1条答案
按热度按时间qzlgjiam1#
向现有表中添加一列,通过CTE创建一个临时结果集,该结果集包含一个列,该列包含原始表中每一行的行号。
行号是使用
ROW_NUMBER()
函数生成的,该函数为结果集中的每一行分配一个唯一的序号。然后使用SET
语句向原始表中添加一个新列,并将该列中的每个值设置为临时结果集中对应的行号。示例:
此过程可帮助您向现有表中添加序号,而不必手动更新每一行。