mcpField
S
stored-procedures

stored-procedures

github.com/aj-geddesData & databases373454 installsUpdated 34w ago
Repository

About stored-procedures

A skill for implementing stored procedures, functions, and triggers to handle business logic, validation, and performance needs. It covers design and error handling, with examples and reference guides for PostgreSQL and MySQL triggers.

Key features

  1. 01Stored procedure and function design
  2. 02Trigger-based automation
  3. 03Business logic and data validation
  4. 04Error handling guidance
  5. 05PostgreSQL and MySQL trigger references

Use cases

  1. 01Encapsulating business logic
  2. 02Performing multi-step database operations
  3. 03Validating data and maintaining audit trails
  4. 04Reusing logic across applications

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill stored-procedures

After installing, type/stored-proceduresin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
complex-procedures-with-error-handling.md
mysql-triggers.md
postgresql-triggers.md
simple-functions.md
simple-procedures.md
stored-procedures.md
scripts/
validate-schema.sh
templates/
migration-template.sql

Details

From the project README

Stored Procedures & Functions

Table of Contents

Overview

Implement stored procedures, functions, and triggers for business logic, data validation, and performance optimization. Covers procedure design, error handling, and performance considerations.

When to Use

  • Business logic encapsulation
  • Complex multi-step operations
  • Data validation and constraints
  • Audit trail maintenance
  • Performance optimization
  • Code reusability across applications
  • Trigger-based automation

Quick Start

PostgreSQL - Scalar Function:

-- 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;

Reference Guides

Detailed implementations in the references/ directory:

GuideContents
Simple FunctionsSimple Functions
Stored ProceduresStored Procedures
Simple ProceduresSimple Procedures
Complex Procedures with Error HandlingComplex Procedures with Error Handling
PostgreSQL TriggersPostgreSQL Triggers
MySQL TriggersMySQL Triggers

Best Practices

✅ DO
  • Follow established patterns and conventions
  • Write clean, maintainable code
  • Add appropriate documentation
  • Test thoroughly before deploying
❌ DON'T
  • Skip testing or validation
  • Ignore error handling
  • Hard-code configuration values

Comments

Markdown supported