Javatpoint Logo
Javatpoint Logo

Difference between Function and Procedure

In this article, we will discuss two important terms that are function and procedure, along with their comparison. The procedure is an important and frequently used programming construct for a compiler. It is used to generate good code for procedure calls and returns.

The function contains the set of programming statements enclosed by {}. It provides code reusability and modularity to the program.

Hope the article will be helpful to you and gives you knowledge about function, procedure, and their comparison. So, without any delay, let's start the topic.


In a programming language, function is said to be a set of instructions that take some input and execute some tasks. A function can either be predefined or user-defined. In the C program, a function can be called multiple times to provide reusability and modularity. It may or may not return a value.


It is an important programming construct for a compiler. The procedure is used for generating good code for procedure calls and returns. It does not deal with an expression. It is defined as the set of commands that are executed in order.

In DBMS, a procedure (often called a stored procedure) is a collection of pre-compiled SQL statements stored inside the database. It is a subroutine or a subprogram in the regular computing language. A procedure always contains a name, parameter lists, and SQL statements. In structured query language (or SQL), it does not return a value. In Java, both function and procedure are the same and called sub-routines.

Function v/s Procedure

Function vs Procedure

Now, let's see the comparison between both function and procedure. We are tabulating the difference between both terms based on some characteristics.

Based on Function Procedure
Basic It calculates the result based on given inputs. It performs certain tasks in order.
SQL Query It can be called in a query. It cannot be called in a query.
try-catch It does not support try-catch blocks. It supports try-catch blocks.
SELECT There can be a function call in a SELECT statement. There is no procedure call in a SELECT statement.
Return It returns the resulting value or control to the calling function or code. On the other hand, it returns control but does not return a value to the code or calling function.
DML statements DML statements such as (Insert, Delete, and Update) cannot be used in a function. In a procedure, DML statements can be used.
Call We can call a function via the procedure. Whereas it is not possible to call a procedure via function.
Expression It has to deal with an expression. It does not have to deal with an expression.
Compilation Functions are compiled whenever they are called. Procedures need to be compiled once, and if necessary, we can call them repeatedly without compiling them every time.
Explicit transaction There is no explicit transaction handling in a function. It can use explicit transaction handling.

So, that's all about the article. Here, we have seen the comparison between function and procedure along with their separate discussion.

Next TopicDifference between

Youtube For Videos Join Our Youtube Channel: Join Now


Help Others, Please Share

facebook twitter pinterest

Learn Latest Tutorials


Trending Technologies

B.Tech / MCA