1. PROCEDURES may or may not return a value but FUNCTION must return a value
2. PROCEDURES can have input/output parameter but FUNCTION only has input parameter.
3. We can call FUNCTION from PROCEDURES but cannot call PROCEDURES from a function.
4. We cannot use PROCEDURES in SQL statement like SELECT, INSERT, UPDATE, DELETE, MERGE etc. but we can use them with FUNCTION.
5. We can use try-catch exception handling in PROCEDURES but we cannot do that in FUNCTION.
6. We can use transaction in PROCEDURES but it is not possible in FUNCTION.