SuperAPI AI 工具集

stored-procedures

数据与分析

查看项目

更新于 10-15 09:31

技能介绍

用途

此技能用于实现数据库中的存储过程、函数与触发器,承载业务逻辑、数据校验和性能优化,涵盖过程设计、错误处理与性能考量。

何时使用

资料列出的适用场景包括:

  • 业务逻辑封装
  • 复杂多步骤操作
  • 数据校验与约束
  • 审计轨迹维护
  • 性能优化
  • 跨应用代码复用
  • 基于触发器的自动化

快速开始

资料给出 PostgreSQL 标量函数示例,用于创建返回单一值的函数:

-- Create function returning single value
CREATE OR REPLACE FUNCTION calculate_order_total(
  p_subtotal DECIMAL,
  p_tax_rate DECIMAL,
  p_shipping DECIMAL
)
RETURNS DECIMAL AS $$
BEGIN
  RETURN ROUND((p_subtotal * (1 + p_tax_rate) + p_shipping)::NUMERIC, 2);
END;
$$ LANGUAGE plpgsql IMMUTABLE;

-- Use in queries
SELECT id, subtotal, calculate_order_total(subtotal, 0.08, 10) as total
FROM orders;

-- Or in application code
SELECT * FROM orders
WHERE calculate_order_total(subtotal, 0.08, 10) > 100;

该函数可用于查询中作为列计算,也可在应用代码中用于条件过滤。

参考指南

详细实现位于 references/ 目录,资料列出的指南包括:

指南 内容
Simple Functions 简单函数
Stored Procedures 存储过程
Simple Procedures 简单过程
Complex Procedures with Error Handling 带错误处理的复杂过程
PostgreSQL Triggers PostgreSQL 触发器
MySQL Triggers MySQL 触发器

最佳实践

应做:

  • 遵循既有模式与约定
  • 编写清晰、可维护的代码
  • 添加适当的文档
  • 部署前充分测试

不应做:

  • 跳过测试或校验
  • 忽略错误处理
  • 硬编码配置值

限制

资料未提供具体支持的数据库版本范围、依赖安装方式、性能基准数据、收费与许可信息,暂未提供。