PostgreSQL 教程: PL/pgSQL

十一月 6, 2023

本节逐步向您展示如何使用 PL/pgSQL 开发 PostgreSQL 用户定义函数和存储过程。

img

PL/pgSQL 过程语言添加了许多过程元素,例如控制结构、循环和复杂计算,以扩展标准 SQL。它允许您在 PostgreSQL 中开发使用普通 SQL 可能无法实现的复杂函数和存储过程。

PL/pgSQL 过程语言类似于 Oracle PL/SQL。以下是学习 PL/pgSQL 的理由:

  • PL/pgSQL 易学易用。
  • PL/pgSQL 默认随 PostgreSQL 一起提供。在 PL/pgSQL 中开发的用户定义函数和存储过程可以像任何内置函数和存储过程一样使用。
  • PL/pgSQL 继承所有用户定义的类型、函数和运算符。
  • PL/pgSQL 具有许多功能,允许您开发复杂的函数和存储过程。
  • PL/pgSQL 可以被定义为受 PostgreSQL 数据库服务器信任。

让我们开始使用 PL/pgSQL 进行编程。

第 1 节. 入门

第 2 节. 变量和常量

  • 变量 – 向您展示如何在 PL/pgSQL 中声明变量。
  • Select into – 指导您如何使用select into查询数据并将其分配给变量。
  • 行类型变量 – 了解如何使用行变量来存储结果集的完整行。
  • 记录类型变量 – 展示如何声明记录变量来保存结果集的单行。
  • 常量 - 指导您如何使用常量使代码更具可读性且更易于维护。

第 3 节. 报告消息和错误

  • 引发错误和报告消息 – 向您展示如何在 PL/pgSQL 中报告消息和引发错误。
  • Assert – 向您展示如何使用断言语句向 PL/pgSQL 代码添加调试检查。

第 4 节 控制结构

  • If 语句 – 向您介绍该if语句的三种形式。
  • 案例陈述 - 解释case陈述,包括简单陈述和搜索case陈述。
  • 循环语句 – 向您展示如何使用循环语句根据条件重复执行代码块。
  • While 循环 – 学习如何使用while循环语句创建预测试循环。
  • For 循环 – 展示如何使用for循环语句迭代结果集的行。
  • Exit – 指导您使用exit语句来终止循环。
  • continue – 为您提供一种使用continue语句跳过当前循环迭代并开始新循环的方法。

第 5 节. 用户定义函数

第 6 节. 异常处理

  • 处理异常 - 向您展示如何使用异常子句来捕获和处理异常。

第 7 节. 存储过程

第 8 节. 光标

  • 游标 – 向您展示如何使用游标逐行处理结果集。

第 9 节. 触发函数

第 10 节. 调试