【发布时间】:2013-06-19 12:41:30
【问题描述】:
这些天我主要做的是将 Oracle SQL 数据库转换为 PostgreSQL (9.1.6) 数据库。
我最常遇到的问题如下:
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。
-
4)
connect by--> 递归公用表表达式:postgresql.org/docs/current/static/queries-with.html -
老问题,但我不赞成,因为没有解释
MERGE INTO的作用,以及 OP 想要如何使用它,因此很难得出有意义的答案。跨度> -
赞成,因为 MERGE 是 Oracle SQL 中使用非常广泛的命令,这是一个有效的问题,出现了很多。
标签: postgresql