Oracle 兼容性任务
来自 PostgreSQL wiki
跳转到导航跳转到搜索在 PostgreSQL 中提高 Oracle 兼容性的实现工作
以下是提高 PostgreSQL 及其周边环境中 Oracle 兼容性的一些工作和研究项目。这基于 Peter Eisentraut 在 PGCon 2008 上的演讲。请添加您的想法。
语法
- 引号标识符,大小写折叠
- MINUS vs. EXCEPT(检查 Oracle 是否也支持 EXCEPT)
数据类型
- 将 varchar2 作为 varchar 的别名实现 [orafce]
- 将 clob 作为 text 的别名实现 [PG core]
- 将 long 作为 text 或 clob 的别名实现? [orafce]
- 根据需要实现 nchar、nvarchar2、nclob [orafce 和 PG core]
- 将 number 作为 numeric 的别名实现 [orafce]
- 将 binary_float、binary_double 作为 float4、float8 的别名实现 [orafce]
- 实现 blob [PG core]
- 实现 raw、long raw [orafce]
- 想出一种方法来允许 Oracle 对 date 的行为(???)
- 修复 interval 类型使其与 SQL 标准兼容。
空值行为
我想看到一个关于空值在 Oracle 中如何真正工作的详细分析和定义。我们可能可以实现一些变通方法,使行为在可选情况下更加相似,但目前 Oracle 的行为看起来很奇怪,而且完全不一致。
序列
- 将 NOCACHE 子句添加到 CREATE SEQUENCE
格式化
- 为 to_char 添加更多功能和鲁棒性。
- 也许可以添加用于 NLS_ 设置的自定义变量,这些变量会在内部更改正确的 PostgreSQL 设置。
触发器
- 允许在一个语句中创建触发器和关联的函数。该函数将作为依赖项自动创建
PL/pgSQL
- 使 DECLARE 可选
- 使 PERFORM 在过程调用中可选