Форум: "Базы";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];
ВнизОбнуление "счетчика" уникального поля Найти похожие ветки
← →
SQL-nik (2005-09-23 08:29) [0]Подскажите пожалуста мастера, как можно программно обнулить данное поле (если у него стоит Identity =yes).Можно ли его как то обнулить в Query Analyzer или SQL SERVER Enterprise Manager ?
P.s. пока только подсказали, что можно убрать след. образом:
1. удаляешь всё из таблицы
2. убираешь identity, сохраняешь таблицу
3. ставишь identity обратно, сохраняешь таблицу
(В моем варианте таблица пустая).
← →
Johnmen © (2005-09-23 09:18) [1]А попробовать никак, видимо ?
← →
Курдль © (2005-09-23 09:21) [2]Даже такое жалкое подобие СУБД, как MSSQL не позволит жить записи без уникального идентификатора, если таковой объявлен для таблицы.
Т.е. если он объявлен - СУБД не даст вставить запись без него, а если не объявлен, а запись уже есть - не даст объявить. Причем для этого даже не надо быть ни уникальным, ни идентификатором, а достаточно объявить поле Not Null, как с ним начнутся описанные Вами "проблемы".
ЗЫ: Вот только не могу понять цели Ваших извращений! :(
← →
SQL-nik (2005-09-23 09:53) [3]>>Johnmen ©
Попробовал работает. Просто, я раньше использовал БД Interbase, а там использовались генераторы, их было просто обнулять.
>>Курдль ©
Цель извращений - приятно когда записи в таблице (рабочей базы) начинаются с 1, а не с 44500 (к примеру).
← →
Курдль © (2005-09-23 09:58) [4]А в этом смысле! :)
В других СУБД есть возможность установить генераторы (последовательности) в любое положение, а в MS SQL - не знаю.
Однако, я не считаю, что есть резон как-то обращать внимание на значения идентификаторов - все равно рано или поздно они утратят "красоту строя" - ведь первую запись могут удалить, и тогда таблица начнатся со 2-й (ай-ай-ай).
Не переписывать же идентификаторы каждый раз!
Тем более, если на этот ID будут ссылаться внешние ключи из других таблиц.
← →
Nikolay M. © (2005-09-23 09:58) [5]
DBCC CHECKIDENT
> Курдль © (23.09.05 09:21) [2]
Иногда лучше молчать, чем болтать ерундой. Особенно если не знаешь предмета разговора.
← →
Johnmen © (2005-09-23 09:59) [6]>SQL-nik
>Просто, я раньше использовал БД Interbase, а там использовались
>генераторы, их было просто обнулять.
Там несколько другая идеология и автоинкриментом рулит юзер.
А в МССКЛ им рулит сервер.
>Цель извращений - приятно когда записи в таблице (рабочей базы)
>начинаются с 1, а не с 44500 (к примеру).
А в чём приятность? Ты что, помногу любуешься на эти номера???
← →
Nikolay M. © (2005-09-23 10:02) [7]
> приятно когда записи в таблице (рабочей базы) начинаются
> с 1, а не с 44500
Гы :)
А ты давай еще словами пиши, так приятнее: "Запись с номером одна тысяча триста двадцать пять". Сразу понятно, что это именно запись и номер у нее 1325 :)
← →
Polevi © (2005-09-23 10:04) [8]>Курдль © (23.09.05 09:21) [2]
>Даже такое жалкое подобие СУБД, как MSSQL
ты дурачок ?
← →
SQL-nik (2005-09-23 10:56) [9]Хватит вам ругатся... Да, может кто-то считает это уже извращением, просто, получилось, так что на этапе отладки приходилось много записывать и удалять записей, теперь после доведения программы и БД до ума, для себя (ну люблю я так), захотел что-бы записи начинались с 1.
Что- бы не было дальнейших припераний, давай-те закроем топик, выводы для себя я уже сделал. Сорри если кто посчитал этот вопрос слишком глупым. (Данные же счетчика где-то же хранятся, просто хотел узнать, может кто-то знает где именно).
← →
Плохиш © (2005-09-23 11:01) [10]
> SQL-nik (23.09.05 10:56) [9]
> Хватит вам ругатся... Да, может кто-то считает это уже извращением,
> просто, получилось, так что на этапе отладки приходилось
> много записывать и удалять записей, теперь после доведения
> программы и БД до ума, для себя (ну люблю я так), захотел
> что-бы записи начинались с 1.
В таких случаях берут пустую базу из архива или создают заново скриптами. И не надо никаких извращений.
← →
Nikolay M. © (2005-09-23 11:21) [11]
> Данные же счетчика где-то же хранятся, просто хотел узнать,
> может кто-то знает где именно
Тебе правильного ответа, как решить твою (пусть, надуманную) проблему недостаточно? Зачем сверх того знать, что где хранится?
← →
Stanislav © (2005-09-23 11:21) [12]SQL-nik (23.09.05 08:29)
А чем тебя не устраивает удалить поле и создать его по новому ?
Курдль © (23.09.05 09:21) [2]
А что же интересно для тебя не жалкое подобие, а нормальная СУБД ?
← →
ANB © (2005-09-23 11:41) [13]
> Stanislav © (23.09.05 11:21) [12]
> SQL-nik (23.09.05 08:29)
> А чем тебя не устраивает удалить поле и создать его по новому
> ?
- а зачем ? Вместо этого надо найти в BOL нужную ХП. Мы как то нашли (я уже забыл какая, а BOL сейчас нет), так ей можно с этим автоинкрементом что хочешь делать - включать, выключать, перематывать вперед и назад и, вроде, даже шаг менять.
← →
Nikolay M. © (2005-09-23 11:44) [14]
> ANB © (23.09.05 11:41) [13]
> - а зачем ? Вместо этого надо найти в BOL нужную ХП.
Вроде как я давно уже сказал, как правильно делать, почему-то никто в упор не видит, повторяю:DBCC CHECKIDENT
← →
ANB © (2005-09-23 11:44) [15]
> Даже такое жалкое подобие СУБД, как MSSQL не позволит жить
> записи без уникального идентификатора, если таковой объявлен
> для таблицы.
> Т.е. если он объявлен - СУБД не даст вставить запись без
> него, а если не объявлен, а запись уже есть - не даст объявить.
> Причем для этого даже не надо быть ни уникальным, ни идентификатором,
> а достаточно объявить поле Not Null, как с ним начнутся
> описанные Вами "проблемы".
- в MS SQL можно с этим полем делать что хошь. А для нотнулловых полей умные люди заводят дефаулт. А вообще приятно. Оракл рулит.
← →
ANB © (2005-09-23 11:46) [16]
> Nikolay M. © (23.09.05 11:44) [14]
- Я сразу увидел. Ссылку лень было копировать. Слепые все что ли ?
ЗЫ. Странно вообще то, работать с MS SQL, не читать BOL и задавать подобные вопросы здесь. Может развод ?
← →
Val © (2005-09-23 11:49) [17]>[14] Nikolay M. © (23.09.05 11:44)
напомнило:
к психиатру заходит больной: "Доктор, меня все игнорируют..."
психиатр:"Следующий"!
;)
← →
Nikolay M. © (2005-09-23 12:00) [18]
> ANB © (23.09.05 11:46) [16]
> Val © (23.09.05 11:49) [17]
(подпрыгивает) Меня увидели, меня заметили!!!
:))))))
← →
Курдль © (2005-09-23 12:17) [19]
> Stanislav © (23.09.05 11:21) [12]
> А что же интересно для тебя не жалкое подобие, а нормальная
> СУБД ?
Да дело не в нормальности. Есть 3 основные ниши СУБД:
БД масштаба предприятия, БД масштаба рабочей группы и локальные БД.
Первые две заняты более достойными пердставителями, а для последней он как-то ... громоздок :)
Я не выступаю оголтелым мастдайщиком Microsoft и даже надеюсь, что готовящийся сервак Yukon составит реальную конкуренцию oracle
(как Microsoft Visual Кролик уже победил Delphi, Microsoft .NET Framework победил Java машину, ASP.NET вытесняет прочие WEB-технологии и т.п.), но MS SQL Server - "ни пришей - ни пристегни".
← →
Polevi © (2005-09-23 12:25) [20]>Курдль © (23.09.05 12:17) [19]
>Первые две заняты более достойными пердставителями
а мужики то и не знают (c)
← →
Курдль © (2005-09-23 12:30) [21]
> Polevi © (23.09.05 12:25) [20]
> а мужики то и не знают (c)
Так мы здесь как раз для того чтоб знали или в спорах рожали истину!
Вот и приведи примеры победы MS SQL над oracle для БД предприятий и над Sybase ASA для БД рабочей группы :)))
← →
Stanislav © (2005-09-23 12:39) [22]Курдль © (23.09.05 12:17) [19]
А помоему MS SQL как раз и занимает 2 первых ниши.
Разве что Ораклу уступает, но с Ораклом я не знаком.
Не встречал более гибких и стабильных серверов.
← →
Polevi © (2005-09-23 12:41) [23]>Курдль © (23.09.05 12:30) [21]
виндовс масдай линукс форева делфи сакс си рулит
← →
Курдль © (2005-09-23 12:51) [24]
> Stanislav © (23.09.05 12:39) [22]
> А помоему MS SQL как раз и занимает 2 первых ниши.
> Разве что Ораклу уступает, но с Ораклом я не знаком.
1. Какую конкуренцию может составить СУБД блокирующего типа для СУБД с версионированием записей???
2. MS SQL Server и Sybase ASE - неудачная совместная попытка Microsoft и Sybase повторить достижения Sybase ASA сделанную на Watcom-овском движке.
← →
Stanislav © (2005-09-23 12:52) [25]Курдль © (23.09.05 12:30) [21]
SYBASE - отстой!
У меня на предприятии стоит SYBASE и MSSQL.
Так вот сервак с MSSQL и выключали из розетки и Reset переваливали при работе примерно 40 юзеров.
А SYBASE при работе 1 юзера перевалили и базу никто не восстановил
← →
Курдль © (2005-09-23 12:55) [26]Как Вы не поймете, что "MS SQL Server" - ухудшенная версия "Sybase ASA"?
Это ж не я придумал! Это ФАКТ! :)
← →
Polevi © (2005-09-23 13:06) [27]>Курдль © (23.09.05 12:55) [26]
ты болен
← →
Курдль © (2005-09-23 13:16) [28]
> Polevi © (23.09.05 10:04) [8]
> ты дурачок ?
> Polevi © (23.09.05 12:25) [20]
> а мужики то и не знают (c)
> Polevi © (23.09.05 12:41) [23]
> виндовс масдай линукс форева делфи сакс си рулит
> Polevi © (23.09.05 13:06) [27]
> ты болен
Приятно конструктивно побеседовать с умным человеком :)))
← →
Nikolay M. © (2005-09-23 13:24) [29]
> Приятно конструктивно побеседовать с умным человеком :)))
Ты первый начал нести чушь, а теперь удивляешься.
← →
Курдль © (2005-09-23 13:31) [30]
> Nikolay M. © (23.09.05 13:24) [29]
> Ты первый начал нести чушь, а теперь удивляешься.
Что тебе конкретно не понравилось в моем отрицательном ответе на
> Подскажите пожалуста мастера, как можно программно обнулить
> данное поле (если у него стоит Identity =yes).
?
← →
Polevi © (2005-09-23 13:36) [31]Даже такое жалкое подобие СУБД, как MSSQL
← →
Nikolay M. © (2005-09-23 13:53) [32]
> Polevi © (23.09.05 13:36) [31]
Угу. После этой фразы остальное можно не читать, потому что всерьез слова автора такого заявления воспринимать невозможно. Болтовня насчет ключевых полей или "поддержки в потоках сетевых соединений" в соседней ветке этому только способствуют.
← →
Polevi © (2005-09-23 14:03) [33]точно
← →
Ega23 © (2005-09-23 14:22) [34]
> Первые две заняты более достойными пердставителями, а для
> последней он как-то ... громоздок :)
Более достойные представители стоят весьма более достойных денег. А если покупать лицензию на домен Windows (NT-Сервер + 25 рабочих станций), то цена MS SQL для этого будет порядка $700 + $140 за клиента.
Цена на Oracle - гораздо дороже.
Ещё вопросы есть?
← →
Курдль © (2005-09-23 14:47) [35]Минимальная уена "oracle workgroup 1": $1200.
Для некоммерческого использования - бесплатно.
← →
ANB © (2005-09-23 15:08) [36]
> Более достойные представители стоят весьма более достойных
> денег. А если покупать лицензию на домен Windows (NT-Сервер
> + 25 рабочих станций), то цена MS SQL для этого будет порядка
> $700 + $140 за клиента.
> Цена на Oracle - гораздо дороже.
Для MS SQL нужно еще ставить сервенрную операционку. Плюс он хочет серийник. А ораклу я могу на халяву поставить и никто за это не выдерет.
У MS SQL есть одно достоинство - его намного проще админить и программисты стоят дешевле (последнее для меня - скорее недостаток).
ЗЫ. А всего то спросили, как перемотать автоинкремент.
← →
Top © (2005-09-23 15:13) [37]
> ЗЫ. А всего то спросили, как перемотать автоинкремент.
а все из-а:
Курдль © (23.09.05 09:21) [2]
Даже такое жалкое подобие СУБД, как MSSQL
:-)
← →
Курдль © (2005-09-23 15:27) [38]Это тоже ниччо: :)
> SYBASE - отстой!
> У меня на предприятии стоит SYBASE и MSSQL.
> Так вот сервак с MSSQL и выключали из розетки и Reset переваливали
> при работе примерно 40 юзеров.
> А SYBASE при работе 1 юзера перевалили и базу никто не восстановил
Я так не сильно уверен, что если ораклевый сервак из розетки выдернуть, что ничего не собъется. Но если грамотно задать джобы на резервное копирование - проблем не будет.
> У MS SQL есть одно достоинство - его намного проще админить
> и программисты стоят дешевле (последнее для меня - скорее
> недостаток).
Что-то я не вижу причин для дорожания программистов. Разве что "за брэнд"?..
Про админов - согласен. А так - с чего бы? Что, PL/SQL сложнее Transact SQL?
Наоборот - с ораклом работать проще и приятнее.
К тому же я не представляю себе (в нашей стране), чтобы программист сидел и кропотливо колбасил что-то под один оракл (и так всю жизнь).
← →
Ega23 © (2005-09-23 15:40) [39]
> Минимальная уена "oracle workgroup 1": $1200.
> Для некоммерческого использования - бесплатно.
Минимальная цена Oracle Standart Edition ONE - $150 за коннект (минимум - 5 коннектов). Если учесть, что для нашей системы требуется не 5 а, как минимум 20 коннектов, то цена возрастает до $3000. Это без учёта НДС, платы за тех.поддержку и возможных скидок от дилера.
Про некоммерческое использование - брехня. Тоже платно. Только там надо что-то около 7% от реальной суммы платить. Но платить - надо (если хочешь жить честно).
Если же брать не SEO, а Oracle Enterprise Edition, то цена взлетает вообще под потолок.
Так что - не надо ля-ля!
← →
Курдль © (2005-09-23 15:50) [40]
> Так что - не надо ля-ля!
>
ЛЯ! ЛЯ!
Про бесплатный вариант.
Зайдите на сайт оракла и почитайте лицензионное соглашение.
http://www.oracle.com/technology/software/htdocs/devlic.html?http://www.oracle.com/technology/software/products/database /oracle10g/htdocs/10201winsoft.html
Страницы: 1 2 вся ветка
Форум: "Базы";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];
Память: 0.56 MB
Время: 0.039 c