集合和Record
| Oracle数据库 | GaussDB数据库 |
|---|---|
| Associative array (or index-by table) | 支持 |
| VARRAY (variable-size array) | 支持 |
| Nested table | 支持 |
| record | 支持 |
| Oracle数据库 | GaussDB数据库 | 差异 |
|---|---|---|
| Associative array (or index-by table)语法: TABLE OF datatype [ NOT NULL ] INDEX BY { PLS_INTEGER | BINARY_INTEGER | VARCHAR2 ( v_size ) | data_type } | 支持,有差异 |
|
| VARRAY (variable-size array)语法: { VARRAY | [ VARYING ] ARRAY } ( size_limit ) OF datatype [ NOT NULL ] | 支持,有差异 |
|
| Nested table语法: TABLE OF datatype [ NOT NULL ] | 支持,有差异 |
|
| record语法: TYPE record_type IS RECORD ( field_definition [, field_definition]... ) ; | 支持 |
|
| Oracle数据库 | GaussDB数据库 |
|---|---|
| collection_type ( [ value [, value ]... ] ) | 支持 |
| Oracle数据库 | GaussDB数据库 | 差异 |
|---|---|---|
| Associative array (or index-by table) | 支持 | - |
| VARRAY (variable-size array) | 支持,有差异 |
|
| Nested table | 支持 | - |
| record | 支持,有差异 |
|
| Oracle数据库 | GaussDB数据库 | 差异 |
|---|---|---|
| = | 支持,有差异 |
|
| <> | 支持,有差异 |
|
| IS [NOT] NULL | 支持 | - |
| ^= | 支持,有差异 |
|
| ~= | 不支持 | - |
| IS [NOT] A SET | 不支持 | - |
| IS [NOT] EMPTY | 不支持 | - |
| expr [NOT] MEMBER [OF] nested_table | 不支持 | - |
| nested_table1 [NOT] SUBMULTISET [OF] nested_table2 | 不支持 | - |
| [NOT] IN | 支持 |
|
| Oracle数据库 | GaussDB数据库 |
|---|---|
| MULTISET UNION [ALL | DISTINCT] | 支持 |
| MULTISET EXCEPT [ALL | DISTINCT] | 支持 |
| MULTISET INTERSECT [ALL | DISTINCT] | 支持 |
| Oracle数据库 | GaussDB数据库 | 差异 |
|---|---|---|
| exists(idx) | 支持 | - |
| extend[(count[, idx])] | 支持,有差异 | GaussDB仅支持nesttable类型。 |
| delete[(idx1[, idx2])] | 支持 | - |
| trim[(n)] | 支持,有差异 | GaussDB仅支持nesttable类型。 |
| count | 支持 | - |
| first | 支持 | - |
| last | 支持 | - |
| prior(idx) | 支持 | - |
| next(idx) | 支持 | - |
| limit | 支持,有差异 | GaussDB仅支持nesttable类型。 |
| Oracle数据库 | GaussDB数据库 |
|---|---|
| 构造器 | 支持 |
| %ROWTYPE声明变量 | 支持 |
| 定义常量constant | 不支持 |
| Oracle数据库 | GaussDB数据库 | 差异 |
|---|---|---|
| unnest_table(anynesttable) | 支持 | - |
| unnest_table(anyindexbytable) | 支持 | - |
| table(anyarray) | 不支持 | GaussDB使用unnest(anyarray)函数进行等价改写。 |