Я уверен, что это может быть довольно распространенный запрос, но пока не могу найти хороший ответ.
Вот мой вопрос:
У меня есть таблица с именем Контакты с колонкой varchar Заголовок .Сейчас, в середине разработки, я хочу заменить поле Title на TitleID , которое является внешним ключом таблицы ContactTitles .На данный момент таблица Контакты имеет более 60 зависимостей (другие таблицы, функции представлений).
Как сделать это самым безопасным и простым способом?
Мы используем: MSSQL2005, данные уже перенесены, просто хочу изменить схему.
Редактировать:
Спасибо всем за быстрое воспроизведение.
Как это былоупомянутая таблица 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 представлений и обновил их вручную.