![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поле "Счетчик" в MS SQL Server 2000. [D7, MSSQL]
gedd © (2004-03-29 12:26:00)Есть ли поле "Счетчик" в MS SQL Server 2000? Заранее благодарен.
gedd (2004-03-30 09:38:00) [1]Спасибо, не думал что этот вопросик вызовет такую дискурсию.
Я посмотрю в online book.
Delirium (2004-03-29 15:34:00) [2]"В таком случае Identity директива не нужна" - как ни грустно это признавать, но в MSSQL Identity действительно не слишком удобная штука, по этому в промышленных БД обычно её не используют, заменяя хранилищами идентификаторов.
Ega23 (2004-03-29 15:30:00) [3]В таком случае Identity директива не нужна. ИМХО.
Delirium (2004-03-29 15:22:00) [4]"SET IDENTITY_INSERT tablename ON/OFF" - эта операция не позволяет модифицировать Identity, а только добавлять, так что если мне требуется заполнить дыру существующими записями, то без временной таблицы всё равно не обойтись.
Ega23 (2004-03-29 15:21:00) [5]Лучше на лбу
Типа я вообще не моюсь? :-))))
bushmen (2004-03-29 15:12:00) [6]Лучше на лбу - стенку могут побелить или обои переклеить :)
Ega23 (2004-03-29 15:11:00) [7]stone © (29.03.04 15:01) [14]
Я и говорю, что точно не помню, помню, что можно. И что делал.
Надо на стенке записать... :о)
stone (2004-03-29 15:01:00) [8]
> Ega23 © (29.03.04 14:49)
Абсолютно верно только правильный синтаксис SET IDENTITY_INSERT tablename ON/OFF
bushmen (2004-03-29 14:58:00) [9]SET IDENTITY_INSERT ON/OFF
Можно и так, написать хранимую процедурку, которая будет это делать.
Ega23 (2004-03-29 14:49:00) [10]Можно поле с IDENTITY и скриптом изменить. Т.е. удалал запись с ID=3, потом добавил снова, но она уже с ID=15, например, добавилась. а тебе её обратно на 3 надо исправить.
Сделать это можно, по-моему директива SET IDENTITY INSERT ON\OFF за это отвечает (или что-то подобное, всё никак не могу запомнить, каждый раз по 20 минут в BOL ковыряюсь.)
bushmen (2004-03-29 14:34:00) [11]>А EM делает это путём создания новой таблицы
что делать, иногда, приходится чем-то жертвовать ради достижения нужного результата. В конечном счете, все зависит от стоимости издержек
bushmen (2004-03-29 14:31:00) [12]>Поверь мне, бывают ситуации, когда приходится изменять значение поля (главное, что можно это сделать). Самому приходилось
stone (2004-03-29 14:27:00) [13]
> wisekaa © (29.03.04 13:25) [4]
> есть другой вопрос: Могу ли я изменить значение в поле Identity?
А зачем. Оно как раз создано для автоматического инкрементирования значения поля. Если есть необходимость изменять "вручную", значит IDENTITY тут явно ни к чему.
Delirium (2004-03-29 14:26:00) [14]"Из программы не пробовал, а из EM элементарно" - поробовал-бы :)
А EM делает это путём создания новой таблицы, что не может не огорчать, если в таблице пара миллионов записей.
bushmen (2004-03-29 14:22:00) [15]>интересно как вы это сделаете
Из программы не пробовал, а из EM элементарно!
Delirium (2004-03-29 14:18:00) [16]"Сними identity" - интересно как вы это сделаете?
bushmen (2004-03-29 14:16:00) [17]>Могу ли я изменить значение в поле Identity
Сними identity, измени значение и снова поставь. Главное, чтобы значения были уникальны.
wisekaa (2004-03-29 13:25:00) [18]есть другой вопрос: Могу ли я изменить значение в поле Identity?
Ega23 (2004-03-29 13:18:00) [19]То есть типа счетчик?
Есть ещё Books On-Line. почитай, там про IDENTITY очент подробно написано
gedd (2004-03-29 12:31:00) [20]То есть типа счетчик?