PL/pgSQL 存储过程与触发器:函数、事务控制与性能陷阱
PL/pgSQL 是 PostgreSQL 内置的过程语言。本文系统讲解 CREATE FUNCTION/PROCEDURE 语法、变量与控制流、异常处理、事务控制(COMMIT/ROLLBACK)、触发器(BEFORE/AFTER/INSTEAD OF、行级/语句级)、触发器常见陷阱、以及避免「过程化陷阱」的性能最佳实践与缓存计划问题。
tag
PL/pgSQL 是 PostgreSQL 内置的过程语言。本文系统讲解 CREATE FUNCTION/PROCEDURE 语法、变量与控制流、异常处理、事务控制(COMMIT/ROLLBACK)、触发器(BEFORE/AFTER/INSTEAD OF、行级/语句级)、触发器常见陷阱、以及避免「过程化陷阱」的性能最佳实践与缓存计划问题。
Go 的函数为什么让人觉得朴素 Go 的函数没有默认参数,没有函数重载,也没有把异常藏在函数体里。一个函数接收什么,返回什么,基本都写在签名上。刚学时你可能觉得它少了一些方便功能,但写真实项目久了会发现,这种朴素让调用关系更容易推理。