TDSQL PG支持PL/SQL语法说明:
| 序号 | Oracle 数据库 | TDSQL PG 数据库 | 说明 |
|---|---|---|---|
| 1 | 基本语法 | 支持 | 支持 PL/SQL 操作符 支持逻辑运算符 支持比较表达式 支持条件表达式 支持变量声明相关参数 |
| 2 | 数据类型 | 支持 | 支持sql类型数据类型 支持集合和记录类型 支持object类型 支持oracle兼容的pls_integer和binary_integer |
| 3 | 流程控制 | 支持 | 支持循环控制逻辑 支持条件控制逻辑 支持顺序执行逻辑 |
| 4 | 集合类型与记录类型 | 支持 | 支持嵌套表 支持关联数组 支持可变数组 支持记录类型 |
| 5 | 静态 SQL | 支持 | 支持静态SQL |
| 6 | 动态 SQL | 支持 | 支持动态SQL |
| 7 | 子过程 | 支持 | 支持包内子过程 支持OBJECT类型子过程 支持创建FUNCTION和PROCEDURE |
| 8 | 触发器 | 支持 | 支持insert/update/delete/truncate 4种类型DML触发器 支持alter/drop/create且出发目标是database/schema的ddl触发器 支持before/after/instead of三种触发时机的触发器 |
| 9 | 异常处理 | 支持 | PL/SQL中支持异常块,可以便捷地检查和处理错误 |
| 10 | PACKAGE对象 | 支持 | 支持定义包对象,用来封装一组成员变量和成员函数 |
| 11 | 自定义类型 | 支持 | 支持使用CREATE TYPE创建自定义类型 |
| 12 | 游标 | 支持 | 支持隐式游标 支持显式游标 支持自定义游标类型 支持SYS_REFCURSOR |
| 13 | 函数嵌套声明 | 支持 | 支持在函数/存储过程/匿名块中嵌套定义函数或者存储过程 |
| 14 | PL 系统包 | 支持 | 包括 DBMS_OUTPUT、DBMS_LOB、DBMS_ASSERT、DBMS_ALERT、DBMS_LOCK、DBMS_METADATA、DBMS_RANDOM、DBMS_SESSION 等 |
注意:
不支持条件编译、PL的编译优化级别(PLSQL_OPTIMIZE_LEVEL)。