<<На Главную     <В  Советы по MS SQL Server

В некоторых ситуациях, при работе с табличками в MS SQL Server, возникает необходимость пронумеровать записи. Чаще всего это бывает необходимо для создания уникального значения записи (ключа) в различных справочниках.  О нескольких способах совершить такую стандартную манипуляцию и будет рассказано немного ниже.

 

 

Предположим, есть такая нехитрая табличка с всего одним полем, в котором храниться наименование товара:

 

 

 Задача - пронумеровать эти записи в физическом порядке. Решение возможно в виде следующего простого скрипта (предварительно нужно будет ручками создать в табличке целочисленное поле id) :

Declare @n integer = 0;

Update Tovary

Set id = @n,

@n = @n+1;

 

 

Ещё один подход к нумерации записей связан с использование оператора ROW_NUMBER () - запрос что-то вроде этого:

 

SELECT ROW_NUMBER() OVER (ORDER BY tovar asc) AS id, Tovar

FROM Tovary2

 

 

Обратите  внимание на тот факт, что записи будут пронумерованы в алфавитном порядке, в отличии от первого варианта.

 

 

И в завершении, последний способ быстро промаркировать записи в таблице MS SQL во вновь созданном  столбце id. На этот раз с использованием предложения ALTER:

 

ALTER table Tovary

Add ID int identity(1,1)

 

 

В последнем случае руками  добавлять столбец id нет необходимости.

Simashkov.2014

25.10.2014 г.

Назад