Заменить GUID на счетчик

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Заменить GUID на счетчик

Сообщение Andrey Fedorov » 09.09.2005 (Пт) 10:01

Есть база. В ней таблицы. Первичные ключи в них GUID-ы. Надо сделать первичными ключами счетчик (т.е создать такое поле с именем GUID-a, а GUID вообще убрать).

У кого нибудь есть скрипт/утилита на эту тему???
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 09.09.2005 (Пт) 11:49

ну и вчём проблем? убери и добавь.
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 09.09.2005 (Пт) 11:53

Sebas писал(а):ну и вчём проблем? убери и добавь.


Таблиц много, они связаны по этим полям... Ручками можно но долго...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 09.09.2005 (Пт) 12:35

А потом тебе скажут сделать из этой базы репликацию, да еще обновляемую, и - на колу мочало, только наоборот, все идентити менять обратно на гуиды... Имхо, имеющийся вариант универсальней.

Если делать один раз, то ручками, а если много где потом прогонять (на клиентских установках, например) - проще создать новую структуру, всю на интах, и перекинуть балком данные из старой в новую.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 09.09.2005 (Пт) 12:40

Ennor писал(а):А потом тебе скажут сделать из этой базы репликацию, да еще обновляемую, и - на колу мочало, только наоборот, все идентити менять обратно на гуиды...


Ну и что? Я не от любви к исскуству работаю... :lol:

Ennor писал(а):Если делать один раз, то ручками, а если много где потом прогонять (на клиентских установках, например) - проще создать новую структуру, всю на интах, и перекинуть балком данные из старой в новую.


Да ладно... Начал ручками делать - так уж доделаю. Все одно там по дороге кучу нехорошестей выправлять придходится...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 20.09.2005 (Вт) 12:58

Интересно - есть желающие потестить программку преобразующую Rowguid - Identity и наоборот? Все должно выполняться абсолютно корректно, с сохранением названий, порядка и свойств полей в таблице, ну и всей схемы данных...

Единственное с чем пока еще не определился - это если тип идентификатора применяется в триггере/процедуре/функции - как его там выцепить и поменять... Идеи у кого нибудь на сей счет нет?
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 29.09.2005 (Чт) 11:01

В общем, если кому нужна утилита корректной конвертации Rowguid <-> Identity (в обе стороны) то можете скачивать по ссылке:

http://webfile.ru/git/728158891/Setup_GuIdConv.exe

Будет доступна там 7 дней.

----------
Утилита конвертирует Rowguid <-> Identity с сохранением положения полей в таблицах, диаграммы, соответствия данных в связанных таблицах... В конце конвертации может быть выдан скрипт для ручной коррекции триггеров/функций/процедур где использовались эти поля и обнаружена ошибка компиляции из-за несоответствия типа данных.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 1

    TopList