what is difference between procedure and function
Answers were Sorted based on User's Feedback
Answer / p.rajasekar
Function:
1.Function Always Return values
2.We can call the function in select Query
3.We can return more than one values using Out put
paramaetes
4.Genrally we can use function as calculatevalues
5.We can insert,update or delte value with the help
function in a select query
Procedure:
1.Procedure doesnot always return value
2.We can't call procedure in Select query
3.We can return more than one value using Out put
parameters in procedure
4.Genarally procudures are using as business logic
| Is This Answer Correct ? | 6 Yes | 0 No |
Answer / a.jyothsna
1) function can be executed using the sql command
(Ex: select functin_name(args)from dual;)
Procedure can be executed using sql+ command
(Ex: exec procedure_name(args))
| Is This Answer Correct ? | 3 Yes | 0 No |
Answer / suresh
Function is return the value
procedure is not return the value
| Is This Answer Correct ? | 5 Yes | 3 No |
Answer / monalisa dalbehera
Function always return a single value
Procedure may or may not return a value.
A procedure can return more than one value by using out
parameter.
| Is This Answer Correct ? | 2 Yes | 0 No |
Answer / nannesaheb chinthalacheruvu
Procedure :
->Procedure is a Named PL/SQL Block which can be stored in
Database in compile form.
->Procedure is used to execute the Perticular task.
->Procedure Does not required RETURN clause.
->Procedure Does not Return value
->It is not posible to execute using SQL statements.
->Procedures can be execute using a)Execute/Call,b)Anonymous
Block
Function :
->Function is a Named PL/SQL Block Which can be Stored in
Database in Compile Form.
->Function is used for Calculation Perpose.
->Fuction Does Contains RETURN Type
->Fuction Can Return only One Value.
->Fuction can Execute using SQL Statements when We can not
Perform any DML Operations in Function.
->Using Out Mode Parameters we can Return Multiple Records
in Function.
| Is This Answer Correct ? | 2 Yes | 0 No |
Answer / shanmukha srinivas
procedure can run in sql block like
begin
sp_procedure_name(input parameters);
end;
function can run in sql block like
select sf_function_name(input paramters)
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / aditi yadav
in addition to above answers -
1. Functions can be called inside procedure but procedure cannot be called inside functons.
2. Functions compiled every time when we call them whereas procedure compiles only once & can be called again and again without being compiled.
3. we can user functions in select statement but cannot use procedure.
4. Inside function we cannot user DML commands but inside procedures we can use DML commands.
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / subhendu
Functions called from SQL have special restrictions:
Accept only IN parameters
cannot contain DML
cannot contain DDL - implies COMMIT
Accept and return only SQL datatypes (not PL/SQL
specific datatypes)
Must use positional notation
Must own or have EXECUTE privilege
Cannot contain transactional or session control
statements (eg. COMMIT, ROLLBACK, ALTER)
| Is This Answer Correct ? | 0 Yes | 2 No |
Answer / shyam katwal
The only difference between procedure and function is:
Function returns a value
whereas
Procedure does not return a value
| Is This Answer Correct ? | 0 Yes | 2 No |
Answer / k.sharada
procedure returns a value and function do not.
| Is This Answer Correct ? | 0 Yes | 4 No |
What is the use of desc in sql?
How can I change database name in sql?
what is the difference between where clause and having clause? : Sql dba
Is sql an operating system?
What is scope and visibility in PL/SQL?
What is Temp Table and type of temp table?
What are different types of indexes?
If I have a table T with 4 rows & 2 columns A & B. A has values 1,2,3,4. and B has 10,20,30,40. Write an Update SQL query which can Swap the values of A & B for all records. (Do not use a sub-query)
wtite down triggr not any entry on Sunday
What is sorting in sql?
What are sql indexes?
I have a small PL/SQL Block assume in this way begin select * from emp where empno=100; exception when others then <Some Messages> when no_data_found then <Some Messages> when too_many_rows then <Some Messages> end; The question which he asked was whether this block will get executed normally or it will throw error ? If errored out then what is the reason for the error ? Could anybody please help me ? Regards Nakul Venkataraman
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)