24.3.21 Таблица INFORMATION_SCHEMA ROUTINES
Таблица ROUTINES предоставляет информацию о хранимых процедурах и функциях. Таблица ROUTINES не включает встроенные (нативные) функции или загружаемые функции.
Столбец с именем “mysql.proc Имя” указывает столбец таблицы mysql.proc, соответствующий столбцу таблицы INFORMATION_SCHEMA ROUTINES, если таковой имеется.
Таблица ROUTINES содержит следующие столбцы:
-
SPECIFIC_NAMEИмя процедуры.
-
ROUTINE_CATALOGИмя каталога, к которому принадлежит процедура. Это значение всегда
def. -
ROUTINE_SCHEMAИмя схемы (базы данных), к которой принадлежит процедура.
-
ROUTINE_NAMEИмя процедуры.
-
ROUTINE_TYPEPROCEDUREдля хранимых процедур,FUNCTIONдля хранимых функций. -
DATA_TYPEЕсли процедура является хранимой функцией, тип данных возвращаемого значения. Если процедура является хранимой процедурой, это значение пустое.
Значение
DATA_TYPEпредставляет только имя типа без дополнительной информации. ЗначениеDTD_IDENTIFIERсодержит имя типа и, возможно, другую информацию, например, точность или длину. -
CHARACTER_MAXIMUM_LENGTHДля хранимых функций с строковым возвращаемым значением — максимальная длина в символах. Если процедура является хранимой процедурой, это значение
NULL. -
CHARACTER_OCTET_LENGTHДля хранимых функций с строковым возвращаемым значением — максимальная длина в байтах. Если процедура является хранимой процедурой, это значение
NULL. -
NUMERIC_PRECISIONДля хранимых функций с числовым возвращаемым значением — числовая точность. Если процедура является хранимой процедурой, это значение
NULL. -
NUMERIC_SCALEДля хранимых функций с числовым возвращаемым значением — числовая разрядность. Если процедура является хранимой процедурой, это значение
NULL. -
DATETIME_PRECISIONДля хранимых функций со временным возвращаемым значением — точность долей секунд. Если процедура является хранимой процедурой, это значение
NULL. -
CHARACTER_SET_NAMEДля хранимых функций с символьной строкой возвращаемого значения — имя набора символов. Если процедура является хранимой процедурой, это значение
NULL. -
COLLATION_NAMEДля хранимых функций с символьной строкой возвращаемого значения — имя сортировки. Если процедура является хранимой процедурой, это значение
NULL. -
DTD_IDENTIFIERЕсли процедура является хранимой функцией, тип данных возвращаемого значения. Если процедура является хранимой процедурой, это значение пустое.
Значение
DATA_TYPEпредставляет только имя типа без дополнительной информации. ЗначениеDTD_IDENTIFIERсодержит имя типа и, возможно, другую информацию, например, точность или длину. -
ROUTINE_BODYЯзык, используемый для определения процедуры. Это значение всегда
SQL. -
ROUTINE_DEFINITIONТекст SQL-запроса, выполняемого процедурой.
-
EXTERNAL_NAMEЭто значение всегда
NULL. -
EXTERNAL_LANGUAGEЯзык хранимой процедуры. MySQL вычисляет
EXTERNAL_LANGUAGEследующим образом:Если
mysql.proc.language='SQL', тоEXTERNAL_LANGUAGE—NULLВ противном случае,
EXTERNAL_LANGUAGE— значение изmysql.proc.language. Однако у нас пока нет внешних языков, поэтому всегдаNULL.
-
PARAMETER_STYLEЭто значение всегда
SQL. -
IS_DETERMINISTICYESилиNO, в зависимости от того, определена ли процедура с характеристикойDETERMINISTIC. -
SQL_DATA_ACCESSХарактеристика доступа к данным для процедуры. Значение — одно из:
CONTAINS SQL,NO SQL,READS SQL DATAилиMODIFIES SQL DATA. -
SQL_PATHЭто значение всегда
NULL. -
SECURITY_TYPEХарактеристика хранимой процедуры
SQL SECURITY. Значение — одно из:DEFINERилиINVOKER. -
CREATEDДата и время создания процедуры. Это значение типа
TIMESTAMP. -
LAST_ALTEREDДата и время последнего изменения процедуры. Это значение типа
TIMESTAMP. Если процедура не изменялась с момента создания, это значение такое же, как иCREATED. -
SQL_MODEРежим SQL, действующий при создании или изменении процедуры и при выполнении процедуры. Допустимые значения см. в Разделе 5.1.10, “Режим SQL сервера”.
-
ROUTINE_COMMENTТекст комментария, если он есть у процедуры. В противном случае это значение пустое.
-
DEFINERИмя учетной записи, указанное в
DEFINER(часто пользователь, создавший процедуру), в формате'.user_name'@'host_name' -
CHARACTER_SET_CLIENTЗначение системной переменной
character_set_clientв момент создания процедуры. -
COLLATION_CONNECTIONЗначение системной переменной
collation_connectionв момент создания процедуры. -
DATABASE_COLLATIONСортировка базы данных, к которой относится процедура.
Примечания
Чтобы просмотреть информацию о процедуре, вы должны быть пользователем, указанным в
DEFINERили иметь доступSELECTк таблицеmysql.proc. Если у вас нет привилегий на саму процедуру, отображаемое значение столбцаROUTINE_DEFINITION—NULL.Информация о возвращаемых значениях хранимых функций также доступна в таблице
PARAMETERS. Строка возвращаемого значения хранимой функции может быть идентифицирована по значениюORDINAL_POSITION, равному 0.
© 2025 Oracle
Licensed under the GPLv2 License.