Sự khác biệt chính: Chức năng và thủ tục là cả hai chương trình con của Oracle. Điểm khác biệt chính nằm giữa chúng là các hàm luôn trả về một giá trị, nhưng các thủ tục có thể có hoặc không.
So sánh giữa chức năng và thủ tục:
Chức năng | Thủ tục | |
Trả lại giá trị | Luôn trả về một giá trị. | Có thể hoặc không thể trả lại một giá trị. |
Nhiệm vụ thực hiện | Chức năng thực hiện một nhiệm vụ cụ thể. | Một thủ tục có thể thực hiện nhiều nhiệm vụ. |
Gọi từ các câu lệnh SQL | Gọi như vậy là có thể cho các chức năng. | Gọi như vậy là không khả thi cho các thủ tục. |
Sử dụng | Các hàm thường được sử dụng để thực hiện tính toán. | Các thủ tục được sử dụng để thực hiện logic kinh doanh. |
Thi hành độc lập | Một chức năng không thực hiện độc lập. Nó phải là một phần của tuyên bố thực thi. | Một thủ tục tự nó đại diện cho một câu lệnh thực thi, vì vậy nó có thể chạy độc lập. |