跳至主要內容

KlustronDB大约 2 分钟

第 43 章 PL/pgSQL - SQL过程语言

目录

43.1. 综述 : 43.1.1. 使用PL/pgSQL的优点

[43.1.2. 支持的参数和结果数据类型](plpgsql-overview.md#PLPGSQL-ARGS-RESULTS)

43.2. PL/pgSQL的结构

43.3. 声明 : 43.3.1. 声明函数参数

[43.3.2. `ALIAS`](plpgsql-declarations.md#PLPGSQL-DECLARATION-ALIAS)

[43.3.3. 复制类型](plpgsql-declarations.md#PLPGSQL-DECLARATION-TYPE)

[43.3.4. 行类型](plpgsql-declarations.md#PLPGSQL-DECLARATION-ROWTYPES)

[43.3.5. 记录类型](plpgsql-declarations.md#PLPGSQL-DECLARATION-RECORDS)

[43.3.6. PL/pgSQL变量的排序规则](plpgsql-declarations.md#PLPGSQL-DECLARATION-COLLATION)

43.4. 表达式

43.5. 基本语句 : 43.5.1. 赋值

[43.5.2. 执行一个没有结果的命令](plpgsql-statements.md#PLPGSQL-STATEMENTS-SQL-NORESULT)

[43.5.3. 执行一个有单一行结果的查询](plpgsql-statements.md#PLPGSQL-STATEMENTS-SQL-ONEROW)

[43.5.4. 执行动态命令](plpgsql-statements.md#PLPGSQL-STATEMENTS-EXECUTING-DYN)

[43.5.5. 获得结果状态](plpgsql-statements.md#PLPGSQL-STATEMENTS-DIAGNOSTICS)

[43.5.6. 什么也不做](plpgsql-statements.md#PLPGSQL-STATEMENTS-NULL)

43.6. 控制结构 : 43.6.1. 从一个函数返回

[43.6.2. 从过程中返回](plpgsql-control-structures.md#PLPGSQL-STATEMENTS-RETURNING-PROCEDURE)

[43.6.3. 调用存储过程](plpgsql-control-structures.md#PLPGSQL-STATEMENTS-CALLING-PROCEDURE)

[43.6.4. 条件](plpgsql-control-structures.md#PLPGSQL-CONDITIONALS)

[43.6.5. 简单循环](plpgsql-control-structures.md#PLPGSQL-CONTROL-STRUCTURES-LOOPS)

[43.6.6. 通过查询结果循环](plpgsql-control-structures.md#PLPGSQL-RECORDS-ITERATING)

[43.6.7. 通过数组循环](plpgsql-control-structures.md#PLPGSQL-FOREACH-ARRAY)

[43.6.8. 俘获错误](plpgsql-control-structures.md#PLPGSQL-ERROR-TRAPPING)

[43.6.9. 获得执行位置信息](plpgsql-control-structures.md#PLPGSQL-CALL-STACK)

43.7. 游标 : 43.7.1. 声明游标变量

[43.7.2. 打开游标](plpgsql-cursors.md#PLPGSQL-CURSOR-OPENING)

[43.7.3. 使用游标](plpgsql-cursors.md#PLPGSQL-CURSOR-USING)

[43.7.4. 通过一个游标的结果循环](plpgsql-cursors.md#PLPGSQL-CURSOR-FOR-LOOP)

43.8. 事务管理

43.9. 错误和消息 : 43.9.1. 报告错误和消息

[43.9.2. 检查断言](plpgsql-errors-and-messages.md#PLPGSQL-STATEMENTS-ASSERT)

43.10. 触发器函数 : 43.10.1. 数据改变的触发器

[43.10.2. 事件触发器](plpgsql-trigger.md#PLPGSQL-EVENT-TRIGGER)

43.11. PL/pgSQL的内部 : 43.11.1. 变量替换

[43.11.2. 计划缓存](plpgsql-implementation.md#PLPGSQL-PLAN-CACHING)

43.12. PL/pgSQL开发提示 : 43.12.1. 处理引号

[43.12.2. 额外的编译时检查](plpgsql-development-tips.md#PLPGSQL-EXTRA-CHECKS)

43.13. 从Oracle PL/SQL 移植 : 43.13.1. 移植示例

[43.13.2. 其他要关注的事项](plpgsql-porting.md#PLPGSQL-PORTING-OTHER)

[43.13.3. 附录](plpgsql-porting.md#PLPGSQL-PORTING-APPENDIX)