ความแตกต่างหลักระหว่าง Functions และ Procedures:
| Functions | Procedures |
|---|---|
| มี return type และคืนค่า | ไม่มี return type แต่คืนค่าผ่าน OUT parameters |
| ใช้ไม่ได้กับคำสั่ง DML (INSERT, UPDATE, DELETE) ใช้ได้แค่ SELECT | ใช้คำสั่ง DML ได้ เช่น INSERT, UPDATE, SELECT ฯลฯ |
| ไม่รองรับ output parameters | รองรับทั้ง input และ output parameters |
| จัดการ transaction ภายในไม่ได้ | จัดการ transaction ภายในได้ |
| ไม่สามารถเรียก stored procedures จาก function ได้ | สามารถเรียก function จาก stored procedure ได้ |
| เรียกใช้ด้วย SELECT statement | ไม่สามารถเรียกด้วย SELECT statement ได้ |