|
|
|
переезд на 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:32 |
|
||
|
переезд на 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, 15:58 |
|
||
|
переезд на PostgreSQL
|
|||
|---|---|---|---|
|
#18+
sancoma, Или лучше так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2015, 16:02 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=103&tid=1997695]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
36ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 325ms |

| 0 / 0 |
