Stored functions and stored procedures both encapsulate logic in the database, but they serve different roles: functions compute and return one value inside queries, procedures perform actions when called.
Key Points
- Function must RETURN exactly one value; procedure returns none (uses OUT params)
- Functions are used inside SQL: SELECT tax(amount) FROM orders;
- Procedures run standalone: CALL monthly_cleanup();
- Procedures can run transactions and DML freely; functions are restricted
- Functions take only IN parameters; procedures take IN/OUT/INOUT
- Rule of thumb: calculations → function, processes → procedure
.png)