
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
21.10.2015, 15:32
|
|||
|---|---|---|---|
переезд на PostgreSQL |
|||
|
#18+
Имеем PostgresSQL 9.4. Стоит задача переписать на PL/Pgsql часть хранимки созданой первоначально для MSSQL. Осбенность в том что хранимка работает в нескольких потоках, для нескольких процессов, поэтому вставка значений в хранимке была реализована через MSSQL MERGE. Если я правильно понял аналога MSSQL MERGE в постгре нету, есть что-то похожее но не совсем то. Может не там смотрел. Подскажите как будет правильно представить след. задачу на PL/Pgsql учитывая особенность использования : Имеем: Код: sql 1. 2. 3. 4. 5. 6. 7. и Код: sql 1. 2. 3. 4. 5. 6. Делается сама вставка: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.10.2015, 15:58
|
|||
|---|---|---|---|
|
|||
переезд на PostgreSQL |
|||
|
#18+
sancoma, что-то такое create or replace function work.inserter() returns void as $code$ declare r record; begin for r in select * from table2 loop begin insert into t1(ItemId, WebSite) values(r.ItemId, r.WebSite); exception when unique_violation then null; end; end loop; end; $code$ language plpgsql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.10.2015, 16:02
|
|||
|---|---|---|---|
|
|||
переезд на PostgreSQL |
|||
|
#18+
sancoma, Или лучше так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=53&tablet=1&tid=1997695]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
164ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 267ms |
| total: | 516ms |

| 0 / 0 |
