Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Преобразование Integer в Counter с сохранением существующих значений в многих таблицах  [new]
Vladimir-33
Member

Откуда:
Сообщений: 4
Есть база с таблицами, полученными "сырым экспортом" из другого продукта. Предыстория мне неведома - что, чем и откуда экспортировали. Тем не менее, все таблицы имеют очевидную структуру и гарантированную целостность по ключевым полям (бывшим таковыми до переноса в SQL). В каждой таблице есть столбец (поле) "чтототам_id" типа Integer, который раньше был как раз primary key. Также в определённых таблицах есть аналогичное поле с неуникальными значениями, которое использовалось, как foreign key. Таблиц этих много, они все разные, между ними при помощи этих самых "чтототам_id" существовали реляции. Надо в итоге воссоздать структуру с обеспечением тех же реляций и целостности, но уже в имеющейся БД SQL Server. Предположил, что было бы неплохо преобразовать предполагаемые primary keys "чтототам_id" в тип counter, потом повязать их отношениями. Опыта работы вообще в SQL, и в частности в SQL Server, не очень много (хотя на уровне пользователя запросы к разнообразным БД делать приходится регулярно), поэтому не уверен в дальнейших действиях. Возможности сделать импорт "по другому" и вообще исходных данных уже нет. Возможно, есть способы решения этой задачи, не связанные с тем, что я вынес в тему? Можно ли это сделать, не прибегая к сложному программированию, с помощью management studio?
27 май 13, 13:43    [14353948]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование Integer в Counter с сохранением существующих значений в многих таблицах  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
Vladimir-33,

у Вас точно MSSQL? А то ведь типа COUNTER не бывает.
Может, IDENTITY? Это, правда, не тип, а свойство такое...
27 май 13, 13:45    [14353967]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование Integer в Counter с сохранением существующих значений в многих таблицах  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
не ну я все понимаю, но зачем грохнули исходную БД?
27 май 13, 13:47    [14353979]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование Integer в Counter с сохранением существующих значений в многих таблицах  [new]
Glory
Member

Откуда:
Сообщений: 104760
Vladimir-33
Можно ли это сделать, не прибегая к сложному программированию, с помощью management studio?

Ну так попробуйте это сделать для одной таблицы в management studio - что мешает ?
27 май 13, 13:57    [14354047]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование Integer в Counter с сохранением существующих значений в многих таблицах  [new]
Vladimir-33
Member

Откуда:
Сообщений: 4
Под Counter имел в виду не тип, а автоприсвоение. Извиняюсь. Что касается попробовать - да, сейчас вот сделал ещё дубликат базы, пробую на дубликате вручную понастраивать.
27 май 13, 14:26    [14354253]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование Integer в Counter с сохранением существующих значений в многих таблицах  [new]
Vladimir-33
Member

Откуда:
Сообщений: 4
Исходную БД не грохнули, она просто умерла естественной смертью (Windows 3.1 и так далеее). Но кто-то озаботился попыткой сохранения таблиц, и за то ему спасибо. А теперь вот они понадобились. Только в сыром виде от них проку мало.
27 май 13, 14:36    [14354325]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование Integer в Counter с сохранением существующих значений в многих таблицах  [new]
Vladimir-33
Member

Откуда:
Сообщений: 4
Вроде всё оказалось не так страшно, как поначалу. Потихоньку вручную воссоздал почти всю структуру, кое-где выявились нарушения интегрити, заодно подправил. С автосчётчиками тоже всё путём - единственная неприятность, что нельзя напрямую вбить в счётчик нужное значение (не стал разбираться), из-за чего пришлось прибегать к небольшим обходным маневрам. Использовал Management Studio и Access.
27 май 13, 16:36    [14355184]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить