更新时间:2026-10-21 GMT+08:00
分享

PL/SQL基本语法

表1 PL/SQL操作符

Oracle数据库

GaussDB数据库

+

支持

:=

支持

=>

支持

%

支持

'

支持

.

支持

||

支持

/

支持

**

不支持

(

支持

)

支持

:

支持

,

支持

<<

支持

>>

支持

/*

支持

*/

支持

*

支持

"

支持

..

支持

=

支持

<>

支持

!=

支持

~=

支持

^=

支持

<

支持

>

支持

<=

支持

>=

支持

@

支持

--

支持

;

支持

-

支持

表2 逻辑运算符

Oracle数据库

GaussDB数据库

NOT

支持

AND

支持

OR

支持

表3 比较表达式

Oracle数据库

GaussDB数据库

IS [NOT] NULL

支持

LIKE

支持

BETWEEN

支持

IN

支持

表4 条件表达式

Oracle数据库

GaussDB数据库

simple CASE

支持

searched CASE

支持

表5 变量声明相关参数

Oracle数据库

GaussDB数据库

差异

%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的某列类型,作为变量类型或者出入参类型。

%ROWTYPE

支持,有差异

  • GaussDB在多个CN的环境下,存储过程中无法声明临时表的%ROWTYPE及%TYPE属性。因为临时表仅在当前session有效,在编译阶段其他CN无法看到当前CN的临时表。故多个CN的环境下,会提示该临时表不存在。
  • GaussDB不支持view%rowtype、schema.view%rowtype作为出入参类型。
  • GaussDB不支持package.cursor变量%rowtype作为出入参类型。

相关文档