域名 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️⃣),本站将关闭。届时我们或许会以另一种方式与你再相遇。

存储过程

本章我们将讨论存储过程。

创建存储过程

使用 CREATE PROCEDURE 语句创建存储过程,语法如下:

create [or replace] procedure procedure_name(parameter_list)
language plpgsql
as $$
declare
-- 声明变量
begin
-- 存储过程主体
end $$;
  • 存储过程的参数模式只能是 ININOUT,而不能是OUT
  • 存储过程不能返回值
    • 即不能使用 RETURN 表达式;
    • 但可以使用不带表达式的 RETURN; 来停止存储过程
    • 如要从存储过程中返回值,可以使用 INOUT 模式的参数
  • 即不能使用 RETURN 表达式;
  • 但可以使用不带表达式的 RETURN; 来停止存储过程
  • 如要从存储过程中返回值,可以使用 INOUT 模式的参数

示例数据:

以下示例用于将指定金额从一个账户转账到另一个账户:

call transfer(1,2,1000);

删除存储过程

drop procedure [if exists] procedure_name [(argument_list)]
[cascade | restrict]

删除存储过程与删除函数非常相似,包括如果发生重载,需要通过参数列表来显式指定要删除的重载版本。

要查看完整内容,请先登录