In MySQL database context, what is the difference among these 3 terms:
- stored procedure
- stored function
- stored routine
Also the build-in functions like those date time functions (e.g. WEEKDAY() etc) are considered as what?
In MySQL database context, what is the difference among these 3 terms:
Also the build-in functions like those date time functions (e.g. WEEKDAY() etc) are considered as what?
Google is your friend. The first match for "mysql routine function procedure" is this: http://dev.mysql.com/doc/refman/5.0/en/stored-routines-syntax.html
A quick summary:
A stored routine is either a procedure or a function.
A procedure is invoked using a CALL statement and can only pass back values using output variables.
A function can be called from inside a statement just like any other function and can return a scalar value.
Here I have tried to summarize the differences between functions and procedures:
SELECT func_name FROM DUAL while procedures cannot.Difference between MySQL function and mysql procedure
MYSQL Function
It must return value.
IN,OUTandINOUTcannot be used in function.But return datatype must be declare when create a function. function can be called from a SQL statement. Function return one values.
MYSQL Procedure
Return Values is not mandatory but may be uses the OUT parameter to procedure returns. Can use the
IN|OUT|INOUTparameters. Procedure cannot be called from the SQL Statement. procedure return multiple values by usingOUTorINOUTparameters.
PROCEDURES VS FUNCTIONS
1. PROCEDURES may or may not return a value but FUNCTION must return a value 2. PROCEDURES can have input/output parameter but FUNCTION only has input parameter. 3. We can call FUNCTION from PROCEDURES but cannot call PROCEDURES from a function. 4. We cannot use PROCEDURES in SQL statement like SELECT, INSERT, UPDATE, DELETE, MERGE etc. but we can use them with FUNCTION. 5. We can use try-catch exception handling in PROCEDURES but we cannot do that in FUNCTION. 6. We can use transaction in PROCEDURES but it is not possible in FUNCTION.
Function must return a value but in Stored Procedure it is optional( Procedure can return zero or n values). Functions can have only input parameters for it whereas Procedures can have input/output parameters . Functions can be called from Procedure whereas Procedures cannot be called from Function.