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

start [/forum/topic.php?fid=53&mobile=1&tid=1998276]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
176ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 431ms |

| 0 / 0 |
