What is Difference between StoredProcedure and function?
Answers were Sorted based on User's Feedback
Answer / shankar
FUNCTION always return a value where as PROCEDURE may or
may not return value.
| Is This Answer Correct ? | 3 Yes | 1 No |
Answer / 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 |
We can use a function in the select query, but Procedure we
can't use in select query. But the function created with out
parameter, we can't use in select statement. Only in
parameter, we can use.
| Is This Answer Correct ? | 1 Yes | 1 No |
<<labele>> declare a=10 b=20, begin some statements declare a=30 c=40 end; what is the A value in nested block?
What is the cause of mutating table error and how can we solve it?
how to insert values like 10:10:00,30:25:00 etc.into table after insert how can i sum the above insert values to get the result as 40:35:00
Which join condition can be specified using on clause?
what is a trigger in mysql? Define different types of trigger. : Sql dba
IN A TABLE HAVE ONE COLUMN PRIMARY KEY..IT WILL NOT ALLOWS NULL VALUES AND DUPLICATE VALUES..INSTEAD OF PRIMARY KEY WHY CANT WE USE UNIQUE AND NOT NULL.THESE TWO ALSO DOESNT ACCEPT NULL VALUES IN NOT NULL AND UNIQUE DOESNT ACCEPT DUPLICATE VALUES? SO WHAT IS THE DIFEERENCE BETWEEN(UNIQUE,NOT NULL) AND PRIMARY KEY??????
what is “go” in t-sql? : Transact sql
How do you concatenate in sql?
How we can create a table in pl/sql block. Insert records into it? Is it possible by some procedure or function? Please give example?
There are 5 records in a table and we have implemented two triggers that are :pre_query and post_query how many times these triggers will fire.
What is meant by cursor in sql?
How do you bind variables in pl sql?
Oracle (3259)
SQL Server (4518)
MS Access (429)
MySQL (1402)
Postgre (483)
Sybase (267)
DB Architecture (141)
DB Administration (291)
DB Development (113)
SQL PLSQL (3330)
MongoDB (502)
IBM Informix (50)
Neo4j (82)
InfluxDB (0)
Apache CouchDB (44)
Firebird (5)
Database Management (1411)
Databases AllOther (288)