powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Повторная перенумерация записей
3 сообщений из 3, страница 1 из 1
Повторная перенумерация записей
    #32029811
AlexanderVS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеем в таблице набор пронумерованых строк, предположим от 10 до 50 с шагом 1, или же от 10 до 50 но с шагом 2.
Пользователь может удалить несколько записей из таблицы, а затем добавить туда новые записи. Необходимо присвоить им номера отсутствующих (удаленных) записей. И вот незнаю, то ли их все заново перенумеровать, то ли как-то можно найти пропущенные номера? Подскажите пожалуйста, как это лучше сделать!
...
Рейтинг: 0 / 0
Повторная перенумерация записей
    #32029837
Фотография VVG_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если система однопользовательская и производительность некритична, то прогони курсор по этим записям и посравнивай текущий ID с предыдущим.
...
Рейтинг: 0 / 0
Повторная перенумерация записей
    #32029841
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И вот незнаю, то ли их все заново перенумеровать, то ли как-то можно найти пропущенные номера?
IMHO лучше все-таки искать "дыры" в нумерации

\ndeclare @myid int
create table #temp1(f1 int)

insert into #temp1 values(1)
insert into #temp1 values(2)
insert into #temp1 values(4)
insert into #temp1 values(5)
insert into #temp1 values(7)
insert into #temp1 values(8 )
insert into #temp1 values(10)


/* First "free" id */
select top 1 @myid = a.f1
from #temp1 a
left outer join #temp1 b on (b.f1) = (a.f1+1)
where b.f1 is null
order by a.f1

select ISNULL(@myid, 0) + 1
drop table #temp1
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Повторная перенумерация записей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]