The ROUTINES table provides information about stored routines (stored procedures and stored functions). The ROUTINES table does not include built-in (native) functions or loadable functions.
The ROUTINES table has these columns:
-
SPECIFIC_NAMEThe name of the routine.
-
ROUTINE_CATALOGThe name of the catalog to which the routine belongs. This value is always
def. -
ROUTINE_SCHEMAThe name of the schema (database) to which the routine belongs.
-
ROUTINE_NAMEThe name of the routine.
-
ROUTINE_TYPEPROCEDUREfor stored procedures,FUNCTIONfor stored functions. -
DATA_TYPEIf the routine is a stored function, the return value data type. If the routine is a stored procedure, this value is empty.
The
DATA_TYPEvalue is the type name only with no other information. TheDTD_IDENTIFIERvalue contains the type name and possibly other information such as the precision or length. -
CHARACTER_MAXIMUM_LENGTHFor stored function string return values, the maximum length in characters. If the routine is a stored procedure, this value is
NULL. -
CHARACTER_OCTET_LENGTHFor stored function string return values, the maximum length in bytes. If the routine is a stored procedure, this value is
NULL. -
NUMERIC_PRECISIONFor stored function numeric return values, the numeric precision. If the routine is a stored procedure, this value is
NULL. -
NUMERIC_SCALEFor stored function numeric return values, the numeric scale. If the routine is a stored procedure, this value is
NULL. -
DATETIME_PRECISIONFor stored function temporal return values, the fractional seconds precision. If the routine is a stored procedure, this value is
NULL. -
CHARACTER_SET_NAMEFor stored function character string return values, the character set name. If the routine is a stored procedure, this value is
NULL. -
COLLATION_NAMEFor stored function character string return values, the collation name. If the routine is a stored procedure, this value is
NULL. -
DTD_IDENTIFIERIf the routine is a stored function, the return value data type. If the routine is a stored procedure, this value is empty.
The
DATA_TYPEvalue is the type name only with no other information. TheDTD_IDENTIFIERvalue contains the type name and possibly other information such as the precision or length. -
ROUTINE_BODYThe language used for the routine definition. This value is always
SQL. -
ROUTINE_DEFINITIONThe text of the SQL statement executed by the routine.
-
EXTERNAL_NAMEThis value is always
NULL. -
EXTERNAL_LANGUAGEThe language of the stored routine. The value is read from the
external_languagecolumn of themysql.routinesdata dictionary table. -
PARAMETER_STYLEThis value is always
SQL. -
IS_DETERMINISTICYESorNO, depending on whether the routine is defined with theDETERMINISTICcharacteristic. -
SQL_DATA_ACCESSThe data access characteristic for the routine. The value is one of
CONTAINS SQL,NO SQL,READS SQL DATA, orMODIFIES SQL DATA. -
SQL_PATHThis value is always
NULL. -
SECURITY_TYPEThe routine
SQL SECURITYcharacteristic. The value is one ofDEFINERorINVOKER. -
CREATEDThe date and time when the routine was created. This is a
TIMESTAMPvalue. -
LAST_ALTEREDThe date and time when the routine was last modified. This is a
TIMESTAMPvalue. If the routine has not been modified since its creation, this value is the same as theCREATEDvalue. -
SQL_MODEThe SQL mode in effect when the routine was created or altered, and under which the routine executes. For the permitted values, see Section 7.1.11, “Server SQL Modes”.
-
ROUTINE_COMMENTThe text of the comment, if the routine has one. If not, this value is empty.
-
DEFINERThe account named in the
DEFINERclause (often the user who created the routine), in'format.user_name'@'host_name' -
CHARACTER_SET_CLIENTThe session value of the
character_set_clientsystem variable when the routine was created. -
COLLATION_CONNECTIONThe session value of the
collation_connectionsystem variable when the routine was created. -
DATABASE_COLLATIONThe collation of the database with which the routine is associated.
Notes
-
To see information about a routine, you must be the user named as the routine
DEFINER, have theSHOW_ROUTINEprivilege, have theSELECTprivilege at the global level, or have theCREATE ROUTINE,ALTER ROUTINE, orEXECUTEprivilege granted at a scope that includes the routine. TheROUTINE_DEFINITIONcolumn isNULLif you have onlyCREATE ROUTINE,ALTER ROUTINE, orEXECUTE. -
Information about stored function return values is also available in the
PARAMETERStable. The return value row for a stored function can be identified as the row that has anORDINAL_POSITIONvalue of 0.