Я уверен, что это может быть довольно распространенный запрос, но пока не нашел хорошего ответа.
Вот мой вопрос:
У меня есть таблица с именем Контакты со столбцом varchar Название. Теперь, в середине разработки, я хочу заменить поле Title на TitleID, которое является внешним ключом для таблицы ContactTitles. На данный момент таблица Contacts имеет более 60 зависимостей (другие таблицы, функции представлений).
Как я могу сделать это самым безопасным и простым способом?
Мы используем: MSSQL 2005, данные уже перенесены, просто хочу изменить схему.
Изменить:
Спасибо Всем за быстрый повтор.
Как уже упоминалось, таблица Contacts имеет более 60 зависимостей, но при выполнении следующего запроса только 5 из них используют столбец Title. Сценарий миграции был запущен, поэтому никаких изменений данных не требуется.
/*gets all objects which use specified column */
SELECT Name
FROM syscomments sc
JOIN sysobjects so ON sc.id = so.id
WHERE TEXT LIKE '%Title%' AND TEXT LIKE '%TitleID%'
Затем я просмотрел эти 5 представлений и обновил их вручную.
*
, который также может все испортить? - person Martin Smith   schedule 21.06.2010...Tit
, а следующая соответствующая строка начинаетсяle...
, поэтому запрос LIKE пропустит ее. - person Martin Smith   schedule 21.06.2010