|
|
|
Временно отключить ограничение первичного ключа
|
|||
|---|---|---|---|
|
#18+
Добрый день. Есть таблица, в которой имеется составной ключ, например "идентификатор контракта" и "год исполнения". Выполняется операция UPDATE по всей таблице, поле "год исполнения" увеличивается на единицу для всех контрактов, например Код: sql 1. При выполнении данной команды получаем ошибку, например ОШИБКА: повторяющееся значение ключа нарушает ограничение уникальности "table1_idx" DETAIL: Ключ "(year, id_contract)=(2016, 3305)" уже существует. Если допустить, что команда выполнилась бы, то в итоге нарушения уникальности не было бы. Вопрос, как на время выполнения команды, блокировать контроль на ограничение уникальности? Есть решение удалить ключ и после его создать, но мне кажется это не лучшее решение. Есть ли другие варианты? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2014, 16:12:52 |
|
||
|
Временно отключить ограничение первичного ключа
|
|||
|---|---|---|---|
|
#18+
big-trot... Вопрос, как на время выполнения команды, блокировать контроль на ограничение уникальности? Есть решение удалить ключ и после его создать, но мне кажется это не лучшее решение. Есть ли другие варианты? Спасибо Код: plsql 1. 2. Но можно и в одной транзакции удалить, обновить, создать. Это же разовая операция? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2014, 18:57:23 |
|
||
|
Временно отключить ограничение первичного ключа
|
|||
|---|---|---|---|
|
#18+
big-trotДобрый день. Есть таблица, в которой имеется составной ключ, например "идентификатор контракта" и "год исполнения". Выполняется операция UPDATE по всей таблице, поле "год исполнения" увеличивается на единицу для всех контрактов, например Код: sql 1. При выполнении данной команды получаем ошибку, например ОШИБКА: повторяющееся значение ключа нарушает ограничение уникальности "table1_idx" DETAIL: Ключ "(year, id_contract)=(2016, 3305)" уже существует. Если допустить, что команда выполнилась бы, то в итоге нарушения уникальности не было бы. Вопрос, как на время выполнения команды, блокировать контроль на ограничение уникальности? Есть решение удалить ключ и после его создать, но мне кажется это не лучшее решение. Есть ли другие варианты? Спасибо отсортировать по дате назад и обновить в цикле ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2014, 20:29:28 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=38842096&tid=1998276]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 241ms |
| total: | 390ms |

| 0 / 0 |
