域名 AXUM.RS 将于2025年10月到期。我们无意再对其进行续费,我们希望你能够接续这个域名,让更多 AXUM 开发者继续受益。
  • 方案1️⃣AXUM.RS 域名 = 3000
  • 方案2️⃣方案1️⃣ + 本站所有专题原始 Markdown 文档 = 5000
  • 方案3️⃣方案2️⃣ + 本站原始数据库 = 5500
如果你有意接续这份 AXUM 情怀,请与我们取得联系。
说明:
  1. 如果有人购买 AXUM.RS 域名(方案1️⃣),或者该域名到期,本站将启用新的免费域名继续提供服务。
  2. 如果有人购买了 AXUM.RS 域名,且同时购买了内容和/或数据库(方案2️⃣/方案3️⃣),本站将关闭。届时我们或许会以另一种方式与你再相遇。

块结构

本章将讨论 PL/pgSQL 的块结构,同时也会带你编写第一个 PL/pgSQL 程序。

PL/pgSQL 是一种块结构语言,它的函数或存储过程都被组织为块。

PL/pgSQL 块的语法

PL/pgSQL 块示例

以下示例定义了一个非常简单的块,它称为匿名块。

do $$ 
<<first_block>>
declare
  film_count integer := 0;
begin
   -- 统计电影数量
   select count(*) 
   into film_count
   from film;
   -- 显示信息
   raise notice '一共有 % 部电影。', film_count;
end first_block $$;
  • DO 不属于块,它用于执行这个匿名块。
  • 块必须使用单引号括起来,但是为了各种好处,我们使用了美元引号代替单引号。
  • 声明部分,我们声明了一个变量 film_count,并将其初始化为 0 film_count integer := 0;
  • 主体部分,我们使用 SELECT INTO 语句,将统计出来的结果赋值给变量 film_count
  • 之后,使用 raise notice 显示信息
    • % 是占位符,它会被 film_count 的值替换
  • 标签 first_block 仅用于演示,并没有实际意义。
要查看完整内容,请先登录