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