Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.06;
Скачать: CL | DM;

Вниз

Обнуление "счетчика" уникального поля   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.58 MB
Время: 0.033 c
14-1129703143
cyborg
2005-10-19 10:25
2005.11.06
MMSYSTEM.HLP


14-1129407214
Юрий Зотов
2005-10-16 00:13
2005.11.06
Пропал ребенок.


5-1108110079
Roughneck
2005-02-11 11:21
2005.11.06
Как добавить свойство в TColumn у DBGrid-а?


2-1128972479
Zut
2005-10-10 23:27
2005.11.06
получение данных из Access


3-1127394613
Igo
2005-09-22 17:10
2005.11.06
Pervasive 2000 & компоненты