Functions are named PL/SQL blocks that return a value and can be called with arguments procedure a named block that can be called with parameter. A procedure all is a PL/SQL statement by itself, while a Function call is called as part of an expression.
The main difference is DML (Data Manipulation). Through Stored procedure you can manipulate data i.e u can insert,update,delete records from table but in function u can't manipulate data. then comes secondary differences like function returns a value and stored procedures does not until and unless u specify an output parameter.stores procedure is a precomplied function i.e it has to be complied oly once but a function when called is complied again and again.
The main difference is DML (Data Manipulation). Through Stored procedure you can manipulate data i.e u can insert update delete records from table but in function u can't manipulate data. then comes secondary differences like function returns a value and stored procedures does not until and unless u specify an output parameter.stores procedure is a precomplied function i.e it has to be complied oly once but a function when called is complied again and again.
procedure perform action.in procedure a return statement can't contain an expressionfuncation computing a value.in function return statement must conain expression
Difference between functions and procedures: 1) DML is allowed in the function if it is not called from a DML (select) statement.but it is absolutely allowed when called from a procedure or a function which is not called from any DML
2) you can have a return statement in function where as procedure does not have return statement.
3) You can invoke a function from a DML.but the same is not possible with a procedure.
This is what the difference i feel.......If u know anything else then let me know.