提要: PostgreSQL 存储过程部分将逐步向您展示如何开发 PostgreSQL 用户自定义函数。

在 PostgreSQL 中,可以使用 PL/pgSQLC 语言PerlPythonPHP 等语言开发存储过程。存储过程添加了一些过程元素,比如结构控制、循环、复杂的计算等对 SQL 标准进行扩展。它允许你开发复杂的函数而不仅限于使用普通的 SQL 语句。

我们将关注 PL/pgSQL 语言,原因如下:

  • PL/pgSQL 简单易学
  • PL/pgSQL 是 PostgreSQL 的默认语言。使用它开发的用户自定义函数就像使用内置函数一样方法
  • PL/pgSQL 有许多功能允许用户开发复杂的自定义函数

让我们开始 PL/pgSQL 编程。

  • PostgreSQL 存储过程:对 PostgreSQL 进行简要介绍
  • 开发第一个自定义函数:展示如何使用 PL/pgSQL 的 CREATE FUNCTION 语句开发第一个自定义函数
  • PL/pgSQL函数的参数:介绍函数的参数类型:INOUTINOUTVARIADIC
  • PL/pgSQL函数重载:定义多个同名函数,但它们的参数列表不同
  • PL/pgSQL返回表的函数:开发一个返回表的函数
  • PL/pgSQL的块结构:说明了 PL/pgSQL 函数的块结构。您将学习如何编写匿名块,并将大块分成更多逻辑子块。
  • PL/pgSQL的错误和消息:如何使用 RAISE 语句来报告消息并抛出错误。另外,我们将介绍用于将调试检查插入 PostgreSQL 函数的 ASSERT 语句。
  • PL/pgSQL的变量:指导您以多种方式在 PL/pgSQL 中声明变量。
  • PL/pgSQL的常量:与变量不同,常量的值一旦被初始化就不能改变。我们向您展示如何使用常量来使代码更易读,更易于维护。
  • PL/pgSQL的 IF 语句:向您介绍三种形式的 IF 语句来根据一定的条件执行一个命令。
  • PL/pgSQL的 CASE 语句:指导您使用 CASE 语句的两种形式:简单 CASE 和搜索 CASE 语句。
  • PL/pgSQL的循环语句:一个循环语句重复执行一个语句块。PostgreSQL 提供了多种循环语句,如 LOOPWHILEFORFOREACH。我们还将向您展示两个控制循环的语句:CONTINUEEXIT
  • PL/pgSQL的游标:向您展示了使用 CURSOR 变量处理返回大量行的查询的有效方法。