Есть табличка с полем, допустим ID1 Identity. Возможно ли как-тоскриптом снять свойство Identity с поля? Посмотрел запрос интерпрайза и ужоснулси - создается темповая таблица по стркутуре точно такая же, но требуемое поле уже без Identity, в нее копируются все данные, затем сносится базовая таблица, создается заново (без идентити) и туда копируются данные из темповой... а темповая соответственно дропается... ЖУТЬ! Есть такое ощущение, что можно как-то через системные таблицы (типа syscolumns) снять признак, но как? Кто сталкивался, помогите! З.Ы.: только не надо начинать песню про некорректно спроектированные базы и т.п.
Mikle, "... запрос интерпрайза и ужоснулси ..." а что такого? не Вы же все это будете делать. ПС. "... только не надо начинать песню про некорректно спроектированные базы и т.п. ..." это хорошо, когда самокритика присутствует
Так ведь требуется скрипт, а не тыкнуть галочку в интерпрайзе... А переносить то что сделал интерпрайз жутко не удобно, так как еще надо дропать и потом воссоздавать все связи и ссылки м/у таблицами...
Mikle, в энтерпрайзе есть возможность все действия, которые Вы выполнили через галочки записать в скрипт. в результате у вас готовый скрипт, который работает с учетом всех "констрэйнтов" и других условий.
Это я уже заметил. Спасибо! Но вот просто вызвал недоумение тот факт, что снятие обычного признака с поля требует такой довольно сложной последовательности действий... Интересно а если данных будет в таблице гигабайты, сколько будут выполняться скрипты?... Кстати ни у кого нет описания таблицы syscolumns?
Mikle, для этого есть всякие опции типа не использовать журналы транзакций, или использовать bulk copy. ПС. "... Кстати ни у кого нет описания таблицы syscolumns? ..." боже мой, боже мой. срочно в школу за книжками. а вообще все это описано в справке к MS SQL Server и MSDN, как в онлайновой, так и в дисковой версиях. да и вообще, прежде чем волпросы спрашивать, хорошо бы теорию почитать.
Я ведь всего то прошу немного изменить характеристики фундамента, а вы мне говорите, что весь дом придется снести и заново построить.
AlTk, в он-лайне я не смог найти назначения всех полей. Если есть конкретные ссылки буду премного благодарен... А на счет книжек и школы - зачастую их пишут люди, которые не сталкивались с половиной возможных проблем... Тем более я думал форумы для того и есть, чтобы решать вопросы не перерывая горы литературы... jek, немного аналогия не корректна... Я не вижу глобальной проблемы в убирании свойства автоинкримента и почему это должно происходить подобным образом я, честно не могу понять... 2All: просьба тему не засорять сообщениями про книжки, школу, фундамент... Если есть какие-то реальные знания по теме - буду сильно благодарен, если ими поделитесь...
Вот и я про тоже для ряда полей идет приписка типа: "autoval varbinary(255) For internal use only" а мне очень интересно, что туда и в каких случаях пишется, ибо есть большое подозрение, что именно это поле отвечает за автоинкримент (он же Identity) в поле таблицы...
pegas, это не помогает. Это позволяет вставить значение, но не проапдейтить уже существующее... А задача именно в апдейте существующих идешников...