обновить первичный ключ в оракуле - PullRequest
1 голос
/ 17 декабря 2010

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

таблица (кола, колб, колк, холодный, коул)

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

это дает ошибку ограничения первичного ключа.

Ответы [ 3 ]

2 голосов
/ 17 декабря 2010

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

2 голосов
/ 17 декабря 2010

Вам следует отключить внесение изменений и включить ограничения, связанные с вашим первичным ключом.(Уникальный, ненулевой и т. Д.)

Посмотрите на этот веб-сайт

0 голосов
/ 17 декабря 2010

На всякий случай, если вам придется изменить ссылочные данные тоже.Первое замечание, в отличие от MS-SQL-Server, при использовании каскада обновлений отсутствует ограничение внешнего ключа, см. Как создать внешний ключ с «ON UPDATE CASCADE» в Oracle? .

Чем явставит новую строку в первичную таблицу, обновит справочную таблицу для ссылки на новую строку и, наконец, удалит исходную первичную строку.

...