
# PL/SQL基本语法
表1PL/SQL操作符 
| 序号 | Oracle数据库 | GaussDB数据库 |
|:---|:---|:---|
| 1  | +         | 支持         |
| 2  | :=        | 支持         |
| 3  | =\>       | 支持         |
| 4  | %         | 支持         |
| 5  | '         | 支持         |
| 6  | .         | 支持         |
| 7  | \|\|      | 支持         |
| 8  | /         | 支持         |
| 9  | \*\*      | 不支持        |
| 10 | (         | 支持         |
| 11 | )         | 支持         |
| 12 | :         | 支持         |
| 13 | ,         | 支持         |
| 14 | \<\<      | 支持         |
| 15 | \>\>      | 支持         |
| 16 | /\*       | 支持         |
| 17 | \*/       | 支持         |
| 18 | \*        | 支持         |
| 19 | "         | 支持         |
| 20 | ..        | 支持         |
| 21 | =         | 支持         |
| 22 | \<\>      | 支持         |
| 23 | !=        | 支持         |
| 24 | \~=       | 支持         |
| 25 | \^=       | 支持         |
| 26 | \<        | 支持         |
| 27 | \>        | 支持         |
| 28 | \<=       | 支持         |
| 29 | \>=       | 支持         |
| 30 | @         | 支持         |
| 31 | --        | 支持         |
| 32 | ;         | 支持         |
| 33 | -         | 支持         |
   
表2逻辑运算符 
| 序号 | Oracle数据库 | GaussDB数据库 |
|:---|:---|:---|
| 1  | NOT       | 支持         |
| 2  | AND       | 支持         |
| 3  | OR        | 支持         |
   
表3比较表达式 
| 序号 | Oracle数据库       | GaussDB数据库 |
|:---|:---|:---|
| 1  | IS \[NOT\] NULL | 支持         |
| 2  | LIKE            | 支持         |
| 3  | BETWEEN         | 支持         |
| 4  | IN              | 支持         |
   
表4条件表达式 
| 序号 | Oracle数据库     | GaussDB数据库 |
|:---|:---|:---|
| 1  | simple CASE   | 支持         |
| 2  | searched CASE | 支持         |
   
表5变量声明相关参数 
| 序号 | Oracle数据库 | GaussDB数据库 | 差异                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| 1  | %TYPE     | 支持，有差异     | - GaussDB不支持record变量%type。  - GaussDB不支持pkg.record变量%type、schema.pkg.record变量%type作为出入参类型。  - GaussDB不支持表/视图.column.column%type、schema.表/视图.column.column%type嵌套1层及以上，作为变量类型和或者出入参类型。  - GaussDB不支持record变量.column.column%type、pkg.record变量.column.column%type嵌套1层及以上的record的某列类型，作为变量类型和或者出入参类型。   |
| 2  | %ROWTYPE  | 支持，有差异     | - GaussDB在多个CN的环境下，存储过程中无法声明临时表的%ROWTYPE及%TYPE属性。因为临时表仅在当前session有效，在编译阶段其他CN无法看到当前CN的临时表。故多个CN的环境下，会提示该临时表不存在。  - GaussDB不支持view%rowtype、schema.view%rowtype作为出入参类型。  - GaussDB不支持package.cursor变量%rowtype作为出入参类型。                                                                                                                                                                  |
   
