![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Обнуление "счетчика" уникального поля [D7, MSSQL]
SQL-nik © (2005-09-23 08:29:00)Подскажите пожалуста мастера, как можно программно обнулить данное поле (если у него стоит Identity =yes).Можно ли его как то обнулить в Query Analyzer или SQL SERVER Enterprise Manager ?
P.s. пока только подсказали, что можно убрать след. образом:
1. удаляешь всё из таблицы
2. убираешь identity, сохраняешь таблицу
3. ставишь identity обратно, сохраняешь таблицу
(В моем варианте таблица пустая).
SQL-nik (2005-09-23 10:56:00) [61]Хватит вам ругатся... Да, может кто-то считает это уже извращением, просто, получилось, так что на этапе отладки приходилось много записывать и удалять записей, теперь после доведения программы и БД до ума, для себя (ну люблю я так), захотел что-бы записи начинались с 1.
Что- бы не было дальнейших припераний, давай-те закроем топик, выводы для себя я уже сделал. Сорри если кто посчитал этот вопрос слишком глупым. (Данные же счетчика где-то же хранятся, просто хотел узнать, может кто-то знает где именно).
Polevi (2005-09-23 10:04:00) [62]>Курдль © (23.09.05 09:21) [2]
>Даже такое жалкое подобие СУБД, как MSSQL
ты дурачок ?
Nikolay M. (2005-09-23 10:02:00) [63]
> приятно когда записи в таблице (рабочей базы) начинаются
> с 1, а не с 44500
Гы :)
А ты давай еще словами пиши, так приятнее: "Запись с номером одна тысяча триста двадцать пять". Сразу понятно, что это именно запись и номер у нее 1325 :)
Johnmen (2005-09-23 09:59:00) [64]>SQL-nik
>Просто, я раньше использовал БД Interbase, а там использовались
>генераторы, их было просто обнулять.
Там несколько другая идеология и автоинкриментом рулит юзер.
А в МССКЛ им рулит сервер.
>Цель извращений - приятно когда записи в таблице (рабочей базы)
>начинаются с 1, а не с 44500 (к примеру).
А в чём приятность? Ты что, помногу любуешься на эти номера???
Nikolay M. (2005-09-23 09:58:00) [65]
DBCC CHECKIDENT
> Курдль © (23.09.05 09:21) [2]
Иногда лучше молчать, чем болтать ерундой. Особенно если не знаешь предмета разговора.
Курдль (2005-09-23 09:58:00) [66]А в этом смысле! :)
В других СУБД есть возможность установить генераторы (последовательности) в любое положение, а в MS SQL - не знаю.
Однако, я не считаю, что есть резон как-то обращать внимание на значения идентификаторов - все равно рано или поздно они утратят "красоту строя" - ведь первую запись могут удалить, и тогда таблица начнатся со 2-й (ай-ай-ай).
Не переписывать же идентификаторы каждый раз!
Тем более, если на этот ID будут ссылаться внешние ключи из других таблиц.
SQL-nik (2005-09-23 09:53:00) [67]>>Johnmen ©
Попробовал работает. Просто, я раньше использовал БД Interbase, а там использовались генераторы, их было просто обнулять.
>>Курдль ©
Цель извращений - приятно когда записи в таблице (рабочей базы) начинаются с 1, а не с 44500 (к примеру).
Курдль (2005-09-23 09:21:00) [68]Даже такое жалкое подобие СУБД, как MSSQL не позволит жить записи без уникального идентификатора, если таковой объявлен для таблицы.
Т.е. если он объявлен - СУБД не даст вставить запись без него, а если не объявлен, а запись уже есть - не даст объявить. Причем для этого даже не надо быть ни уникальным, ни идентификатором, а достаточно объявить поле Not Null, как с ним начнутся описанные Вами "проблемы".
ЗЫ: Вот только не могу понять цели Ваших извращений! :(
Johnmen (2005-09-23 09:18:00) [69]А попробовать никак, видимо ?