Advanced Database Features
WoWSQL supports advanced MySQL features like stored procedures, triggers, views, and scheduled events.
Stored Procedures
Create reusable SQL logic:
POST /api/v2/procedures
Headers:
Authorization: Bearer YOUR_API_KEY
X-Project-Slug: your-project-slug
Content-Type: application/json
Body:
{
"name": "get_user_stats",
"parameters": [
{"name": "user_id", "type": "INT", "mode": "IN"}
],
"body": "BEGIN SELECT COUNT(*) FROM orders WHERE user_id = user_id; END",
"comment": "Get user order statistics"
}
Call a Stored Procedure
POST /api/v2/procedures/{name}/call
Headers:
Authorization: Bearer YOUR_API_KEY
X-Project-Slug: your-project-slug
Content-Type: application/json
Body:
{
"parameters": {"user_id": 1}
}
Database Triggers
Automatically execute SQL on INSERT/UPDATE/DELETE:
POST /api/v2/triggers
Headers:
Authorization: Bearer YOUR_API_KEY
X-Project-Slug: your-project-slug
Content-Type: application/json
Body:
{
"name": "update_timestamp",
"table": "users",
"timing": "BEFORE",
"event": "UPDATE",
"body": "SET NEW.updated_at = NOW()"
}
Database Views
Create virtual tables from complex queries:
POST /api/v2/views
Headers:
Authorization: Bearer YOUR_API_KEY
X-Project-Slug: your-project-slug
Content-Type: application/json
Body:
{
"name": "active_users",
"definition": "SELECT * FROM users WHERE status = 'active'"
}
Query a View
GET /api/v2/views/{name}/data
Headers:
Authorization: Bearer YOUR_API_KEY
X-Project-Slug: your-project-slug
Scheduled Events
Run SQL tasks on a schedule (like cron jobs):
POST /api/v2/events
Headers:
Authorization: Bearer YOUR_API_KEY
X-Project-Slug: your-project-slug
Content-Type: application/json
Body:
{
"name": "daily_cleanup",
"schedule": "EVERY 1 DAY",
"body": "DELETE FROM logs WHERE created_at < DATE_SUB(NOW(), INTERVAL 30 DAY)"
}