Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.052 c
4-1125891553
NightLord
2005-09-05 07:39
2005.11.06
Windows


9-1118496600
Cerberus
2005-06-11 17:30
2005.11.06
Cоздание RPG


6-1121235521
Mefodiy
2005-07-13 10:18
2005.11.06
Как разрешить почту и запретить интернет на Win98?


1-1129278171
Vriter
2005-10-14 12:22
2005.11.06
Оформление формы


1-1129192785
Friend
2005-10-13 12:39
2005.11.06
Pos в RichEdit





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский