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

start [/forum/topic.php?fid=53&fpage=118&tid=1998276]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 345ms |

| 0 / 0 |
