Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS SQL Server > Помогите разобраться с нумерацией строк.


Автор: Modest 8.7.2008, 16:37
                                  Всем Привет!
Объясните пожалуйста как это можно исправить:
Я в таблице  создал столбец - ID , для нумерации строк,
в свойствах через настройки Column Properties установил:

 Identity Specification        Yes  
(Is Identity)                           Yes

Identity Increment               1 
Identity Seed                        1

Вот такая задача:
 Я удаляю последнюю строку с  номером 10 по столбцу - ID,
а потом добавляю новую строку, но в столбце ID она идет уже под номером 11.
Как это можно поправить,чтобы номера строк были по порядку.

И еще: при добавлении новых строк они располагаются не 
по нумерации, а вразброс.

                            Заранее Всем Спасибо!

 




Автор: Akina 8.7.2008, 16:52
Ну сколько же можно повторять - ID не есть номер строки!!! это уникальный идентификатор! для связи таблиц! И ТОЛЬКО!

Нужен НОМЕР - введи дополнительное поле, и заполняй его. Хошь из триггера, хошь хранимкой, хошь от клиента... а еще лучше - получай его прямо в запросе/вьюве.

А уникальный ИД строки не трогай. И даже не смотри что там записано - это поле не для тебя, а для системы поддержания целостности БД на сервере.

Автор: Magnifico 8.7.2008, 18:03
так можно сбросить на 11
Код

dbcc checkident("Клиенты",RESEED, 11)

но так делать постоянно запаришься!

Автор: Modest 8.7.2008, 20:14
Подскажите еще пожалуйста  -  как можно узнать индекс строки?
Например: я по фильтру нахожу строку с 
нужным мне значением,а как узнать
индекс этой строки?

Автор: Butsa 11.7.2008, 15:22
Индекс всмысле значение поля ID? 
Если ID? то
Select ID From Table Where Text = 'value'

Автор: uranpro 11.7.2008, 15:30
тебе надо просто отображать номер строки?

 smile  

пятница)
 smile 

Автор: Magnifico 11.7.2008, 15:53
в TSQL нет понятия  -  индекс строки!
если получить последнее вставленное identity смотри в БОЛ
@@identity
scope_identity()
ident_current

Автор: Modest 11.7.2008, 18:09
Все кажется разобрался,всем спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)