Сделать поле монотонным по всем строкам - PullRequest
1 голос
/ 11 октября 2010

В моей базе данных сервера sql есть таблица, которую я хочу преобразовать в столбец PK

. Для этого я хочу изменить значение каждой строки в этом столбце на 1,2,3 ...

Не могли бы вы написать запрос T-Sql для этой задачи?

Спасибо за помощь

Начальное состояние:

Id | Name |
----------
1  | One  |
2  | Two  |
2  | Three|
x  | xxx  |

Результат:

Id | Name |
----------
1  | One  |
2  | Two  |
3  | Three|
4  | xxx  |

Ответы [ 2 ]

4 голосов
/ 11 октября 2010
;with cte as
(
SELECT Id, ROW_NUMBER() over (order by Id) as rn
from YourTable
)
UPDATE cte SET Id = rn
0 голосов
/ 16 мая 2018

Вы также можете сделать это с именем, если у вас нет идентификатора!

;with cte as
(
SELECT Id, ROW_NUMBER() over (order by name) as rn
from YourTable
)
UPDATE cte SET Id = rn
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...