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
- 01Stored procedure and function design
- 02Trigger-based automation
- 03Business logic and data validation
- 04Error handling guidance
- 05PostgreSQL and MySQL trigger references
Use cases
- 01Encapsulating business logic
- 02Performing multi-step database operations
- 03Validating data and maintaining audit trails
- 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-proceduresAfter 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.mdmysql-triggers.mdpostgresql-triggers.mdsimple-functions.mdsimple-procedures.mdstored-procedures.mdscripts/validate-schema.shtemplates/migration-template.sqlDetails
From the project READMEStored 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:
| Guide | Contents |
|---|---|
| Simple Functions | Simple Functions |
| Stored Procedures | Stored Procedures |
| Simple Procedures | Simple Procedures |
| Complex Procedures with Error Handling | Complex Procedures with Error Handling |
| PostgreSQL Triggers | PostgreSQL Triggers |
| MySQL Triggers | MySQL 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