|
DB2 9.7. Select from final table + Merge into
|
|||
---|---|---|---|
#18+
Как я понимаю 9.7 не поддерживает данное сочетание. Конструкции ON DUPLICATE KEY - вроде как тоже нет. Что можно сделать в SQL, дабы и insert/update выполнялся шустро и в итоге получить назад измененные записи? Можно получить назад и только CURRENT_TIMESTAMP, который записан в изменяемое поле. Хранимка не подходит. Нашел вот такое, но не уверен что будет работать быстро: https://stackoverflow.com/questions/51619437/what-is-the-final-table-equivalent-for-merge ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2022, 16:45 |
|
DB2 9.7. Select from final table + Merge into
|
|||
---|---|---|---|
#18+
Родил этакое. Код: plsql 1. 2. 3. 4.
Еще бы и апдейт автоматом... но что бы не 2 раза EXISTS (SELECT 1 FROM A WHERE A.KEY=B.KEY) делать... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2022, 18:13 |
|
DB2 9.7. Select from final table + Merge into
|
|||
---|---|---|---|
#18+
rgreat, Понятие "шустро" - растяжимое. Это вы только на тестах можете проверить, подходит ли вам скорость или нет. Оба изменения - максимум одной записи по ключу, если использовать в том виде, как в примере. Вы не добьетесь того, чтоб не использовать [NOT] EXISTS 2 раза. Алгоритм может работать на несколько входящих записей, т.е. вместо "AS (VALUES (1, 'value 1'))" можно использовать "AS (любой подзапрос, возвращающий: KEY, неключевые поля)", если соответствующим образом исправить UPDATE и INSERT. Код: sql 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. 27. 28. 29. 30. 31. 32. 33.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2022, 12:00 |
|
|
Start [/forum/topic.php?fid=43&tid=1600089]: |
0ms |
get settings: |
0ms |
get forum list: |
7ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
35ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
14ms |
update_topic_read_status (1600089): 29.01.2022 12:00:11: |
0ms |
get tp. blocked users: |
0ms |
get online users: |
16ms |
check new: |
1ms |
others: | 87ms |
total: | 166ms |
0 / 0 |