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

Откуда:
Сообщений: 41
Коллеги, добрый день!
Есть таблица и в ней нужно обновить ключевое поле, но так как стоит ограничение и есть связь с другой таблицей, то выдается ошибка. Вопрос - а как вообще подходить правильно к таким задачам с обновлением ключевых полей в таблицах? Поделитесь опытом?
2 сен 14, 11:12    [16522487]     Ответить | Цитировать Сообщить модератору
 Re: Обновление ключевого поля таблицы в базе данных  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Правильно - не обновлять. Если надо обновлять - значит баг в проектированиии БД :(
2 сен 14, 11:13    [16522492]     Ответить | Цитировать Сообщить модератору
 Re: Обновление ключевого поля таблицы в базе данных  [new]
stas-alex
Member

Откуда:
Сообщений: 41
Maxx, необходимость возникла вот почему - выпустили новую версию продукта в которой таблица была пересмотрена и переделана. Теперь хочется те данные, которые в ней были отчасти перенести по максимуму, в том числе перемапить ключевое поле, чтобы в новом продукте сохранилась правильная связь на другие таблицы, которые не перерабатывались.
2 сен 14, 11:18    [16522518]     Ответить | Цитировать Сообщить модератору
 Re: Обновление ключевого поля таблицы в базе данных  [new]
Jovanny
Member

Откуда:
Сообщений: 1196
Сделайте все внешние ключи к вашей таблице ON UPDATE CASCADE и обновляйте.
2 сен 14, 11:21    [16522537]     Ответить | Цитировать Сообщить модератору
 Re: Обновление ключевого поля таблицы в базе данных  [new]
Glory
Member

Откуда:
Сообщений: 104751
BOL - Primary and Foreign Key Constraints - Cascading Referential Integrity
2 сен 14, 11:21    [16522538]     Ответить | Цитировать Сообщить модератору
 Re: Обновление ключевого поля таблицы в базе данных  [new]
stas-alex
Member

Откуда:
Сообщений: 41
Коллеги, спасибо большое. Нашел это место. Буду пробовать.
2 сен 14, 11:27    [16522575]     Ответить | Цитировать Сообщить модератору
 Re: Обновление ключевого поля таблицы в базе данных  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8839
Если это разовая операция, то уберите внешние ключи и обновите каждую таблицу отдельно. Так быстрее будет.
2 сен 14, 11:41    [16522655]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить