Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.08.2008, 06:54   #1
Ramires
Пользователь
 
Аватар для Ramires
 
Регистрация: 23.07.2008
Сообщений: 69
По умолчанию MSSQL: сброс автоинкрементного поля..

В базе MSSQL есть таблица, в которой есть автоинкрементное поле, в связи с тем что записи удалялись.. есть промежутки между значениями.. то есть шло так 1,2,3,4,5.. Удалили 5. Добавили запись и пошло теперь так 1,2,3,4,6.
Как пересчитать по новой инкремент, не удаляя при этом таблицу и не создавая временных таблиц?
I like beer.. more beer..
Ramires вне форума Ответить с цитированием
Старый 19.08.2008, 09:00   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Как пересчитать по новой инкремент,
м.м.м Я вот не помню точно как делал, но можно попробовать примерно так:
Код:
update table set Myautoinc=recno()
Myautoinc - автоинкремент
кстати а зачем это нужно?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.08.2008, 10:44   #3
Domovoy
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 254
По умолчанию

Какая субд?
Domovoy вне форума Ответить с цитированием
Старый 19.08.2008, 11:48   #4
Ramires
Пользователь
 
Аватар для Ramires
 
Регистрация: 23.07.2008
Сообщений: 69
По умолчанию

2 Domovoy, MSSQL.. в названии темы же указано..

2 Stilet, дело просто вот в чем.. есть программка небольшая у нас, что то типа справочника.. так вот там можно просматривать таблички с данными.. и вот в этой табличке, из-за того что строки из таблицы в MSSQL удалялись.. некрасиво так сказать отображаются..
то есть допустим:
1 запись1
2 запись2
4 запись4
То есть суть в чом.. нумератор записей инкрементное поле..
Можно было б канешь переписать просто программку.. но исходника нет.. заново писать не особо хочецо пока.. хотя в скором времени придеца..
Реально особых трудностей проблема не создает..
Однако хотелось бы сделать красиво..
Метод твой я попробую! Пасип!
I like beer.. more beer..
Ramires вне форума Ответить с цитированием
Старый 19.08.2008, 12:30   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Ну если тебе нужен нумератор, то проще сделать вычисляемое поле с этим самым RecNo() и не колошматить апстенку саму базу.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.08.2008, 14:03   #6
Domovoy
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 254
По умолчанию

Цитата:
Сообщение от Ramires Посмотреть сообщение
2 Domovoy, MSSQL.. в названии темы же указано..
не указана версия. В 2005 есть row_number()...как раз для нумерации строк.
Domovoy вне форума Ответить с цитированием
Старый 20.08.2008, 02:58   #7
Ramires
Пользователь
 
Аватар для Ramires
 
Регистрация: 23.07.2008
Сообщений: 69
По умолчанию

2 Domovoy, ой.. извини.. 2000 сервер..
I like beer.. more beer..
Ramires вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что такое MsSQL? Nemez Свободное общение 13 24.07.2008 09:00
MsSql-Запросы Diamand SQL, базы данных 4 18.06.2008 06:30
Обнуление автоинкрементного поля azat БД в Delphi 4 29.11.2007 11:44
Регистрация MSSQL в BDE pkv БД в Delphi 1 02.10.2007 11:52