|
обновление записей инсертом
|
|||
---|---|---|---|
#18+
Хочу быстро обновлять значения большой таблицы, правильно ли делать через insert? Тогда думаю создать колонку в таблице, например n2, которая будет дублировать значение bigserial в случае, когда вставляется новая запись, а для случаев, когда запись обновляется инсертом, - то будет принимать значение исходной обновляемой записи. Типа такого: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8.
здесь обновил: aaa на xxx и bbb на yyy. т.к. наличие колонки bigserial _primary key не даёт возможность её дубля в колонку n2: ERROR: ОШИБКА: текущее значение (currval) для последовательности "tb4_idtb4_seq" ещё не определено в этом сеансе, то можно через nextval() сделать так, что последовательность idtb4 будет идти через раз: 1 3 5 ... вместо: 1 2 3 ... В примере сделал без колонки idtb4 _bigserial _primary key так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
Вставка новых записей, так: Код: plsql 1. 2. 3.
здесь опустил колонку info, т.к. вопрос в самом подходе: будет ли он работать в многопользовательской системе и как сделать правильно, спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2021, 23:08 |
|
обновление записей инсертом
|
|||
---|---|---|---|
#18+
Alex_Wong, Я бы рекомендовал такие вещи через before insert/update триггер решить а не извращаться -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2021, 23:52 |
|
обновление записей инсертом
|
|||
---|---|---|---|
#18+
Maxim Boguk, у Вас, случайно, нет примера ? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2021, 00:00 |
|
обновление записей инсертом
|
|||
---|---|---|---|
#18+
Alex_Wong Maxim Boguk, у Вас, случайно, нет примера ? это вы уже совсем разленились )) -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2021, 00:16 |
|
|
start [/forum/topic.php?fid=53&fpage=16&tid=1994200]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 281ms |
total: | 442ms |
0 / 0 |