Что я в основном делаю в эти дни, это преобразование базы данных Oracle SQL в базу данных PostgreSQL (9.1.6).Перенос Oracle SQL на PostgreSQL - MERGE INTO
Наиболее распространенные вопросы, которые я, как правило, попадаются следующие:
1. decode --> case when
2. nvl --> coalesce
3. (+) --> outer join
4. connect by prior --> connectby function with tablefunc contrib module.
5. merge into --> ???
etc...
В настоящее время я скользя через руководство PostgreSQL и достаточно странно, кажется, нет MERGE INTO
заявление (или любые прямые замены для него).
Я знаю, что PL/pgSQL можно использовать в качестве альтернативы, но это будет означать большую нагрузку для меня. Есть что-то, что мне не хватает?
Не существует простой замены слияния. По причинам и возможным решениям проверьте это [blogpost] (http://www.depesz.com/2012/06/10/why-is-upsert-so-complicated/). –
4) 'connect by' -> рекурсивное общее выражение таблицы: http://www.postgresql.org/docs/current/static/queries-with.html –
Возможный дубликат [Insert, on duplicate update (postgresql)] (http://stackoverflow.com/questions/1109061/insert-on-duplicate-update-postgresql) –