What is Difference between StoredProcedure and function?
Answer Posted / ganesh sial
1. Function is mainly used in the case where it must
return a value. Where as a procedure may or may not return
a value or may return more than one value using the OUT
parameter.
Â
2. Function can be called from SQL statements where as
procedure can not be called from the sql statements
3. Functions are normally used for computations where as
procedures are normally used for executing business logic.
4. You can have DML (insert,update, delete) statements in a
function. But, you cannot call such a function in a SQL
query.
5. Function returns 1 value only. Procedure can return
multiple values (max 1024).
6.Stored Procedure: supports deferred name resolution.
Example while writing a stored procedure that uses table
named tabl1 and tabl2 etc..but actually not exists in
database is allowed only in during creation but runtime
throws error Function wont support deferred name
resolution.
7.Stored procedure returns always integer value by default
zero. where as function return type could be scalar or
table or table values
8. Stored procedure is precompiled execution plan where as
functions are not.
Â
9.A procedure may modify an object where a function can
only return a value The RETURN statement immediately
completes the execution of a subprogram and returns control
to the caller.
2. Function -
1) Have to return a single value to the calling program
2) Can call functions in sql statements
3) Cannot return images
.
Procedures -
1) Do not return any value except assigning values to OUT
variables
2) Cannot call procedures in sql statements
3) Can return images
| Is This Answer Correct ? | 1 Yes | 0 No |
Post New Answer View All Answers
What are the types of join in sql?
Can we want to pass a parameter payroll_id to this external pl/sql function, how do we do it?
how to select unique records from a table? : Sql dba
Why having clause is used in sql?
How many sql are there?
What is pl sql collection?
Is there a pl/sql pragma similar to deterministic, but for the scope of one single sql select?
How can check sql version from command line?
What does <> sql mean?
How can we implement rollback or commit statement in a trigger?
Does execute immediate commit?
What is sql mysql pl sql oracle?
Can we use views in stored procedure?
Can we call procedure in select statement?
What are the different datatypes available in PL/SQL?