ROUTINES (Transact-SQL)

Применимо к:SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure Управляемый экземпляр SQL Azure Конечная точка аналитики аналитики Synapse Analytics Analytics (PDW)SQL Analyticsв Microsoft FabricХранилище в Microsoft Fabric

Возвращает одну строку для каждой хранимой процедуры и функции, к которым текущий пользователь может получить доступ в текущей базе данных. Столбцы, описывающие возвращаемое значение, относятся только к функциям. Для хранимых процедур эти столбцы будут иметь значение NULL.

Чтобы получить сведения из этих представлений, укажите полное имя INFORMATION_SCHEMA.view_name.

Примечание.

Столбец ROUTINE_DEFINITION включает исходные инструкции, создавшие эту функцию или хранимую процедуру. Эти исходные инструкции, вероятно, содержат встроенные символы возврата каретки. Если этот столбец возвращается приложению, которое выводит результаты в текстовом формате, эти встроенные символы в результатах ROUTINE_DEFINITION могут нарушить форматирование общего результирующего набора. Если выбирается столбец ROUTINE_DEFINITION, необходимо учитывать встроенные символы возврата каретки, например возвращая результирующий набор в сетку или выводя результаты ROUTINE_DEFINITION в собственное текстовое поле.

Имя столбца Тип данных Description
SPECIFIC_CATALOG nvarchar(128) Определенное имя каталога. Это имя совпадает с ROUTINE_CATALOG.
SPECIFIC_SCHEMA nvarchar(128) Определенное имя схемы.

** Важно ** Не использовать представления INFORMATION_SCHEMA для определения схемы объекта. INFORMATION_SCHEMA представления представляют только подмножество метаданных объекта. Единственный надежный способ найти схему объекта — запрашивать sys.objects представление каталога.
SPECIFIC_NAME nvarchar(128) Определенное имя каталога. Это имя совпадает с ROUTINE_NAME.
ROUTINE_CATALOG nvarchar(128) Имя каталога функции.
ROUTINE_SCHEMA nvarchar(128) Имя схемы, содержащей эту функцию.

** Важно ** Не использовать представления INFORMATION_SCHEMA для определения схемы объекта. INFORMATION_SCHEMA представления представляют только подмножество метаданных объекта. Единственный надежный способ найти схему объекта — запрашивать sys.objects представление каталога.
ROUTINE_NAME nvarchar(128) Имя функции.
ROUTINE_TYPE nvarchar(20) Возвращает значение PROCEDURE для хранимой процедуры и FUNCTION для функций.
MODULE_CATALOG nvarchar(128) NULL. Зарезервировано для последующего использования.
MODULE_SCHEMA nvarchar(128) NULL. Зарезервировано для последующего использования.
MODULE_NAME nvarchar(128) NULL. Зарезервировано для последующего использования.
UDT_CATALOG nvarchar(128) NULL. Зарезервировано для последующего использования.
UDT_SCHEMA nvarchar(128) NULL. Зарезервировано для последующего использования.
UDT_NAME nvarchar(128) NULL. Зарезервировано для последующего использования.
DATA_TYPE nvarchar(128) Тип данных возвращаемого значения функции. Возвращает таблицу , если табличное значение функции.
CHARACTER_MAXIMUM_LENGTH int Максимальная длина в символах, если возвращаемый тип символьный.

-1 для данных типа XML и больших значений.
CHARACTER_OCTET_LENGTH int Максимальная длина в байтах, если возвращаемый тип символьный.

-1 для данных типа XML и больших значений.
COLLATION_CATALOG nvarchar(128) Всегда возвращает значение NULL.
COLLATION_SCHEMA nvarchar(128) Всегда возвращает значение NULL.
COLLATION_NAME nvarchar(128) Имя параметров сортировки для возвращаемого значения. Для несимвольных типов возвращает значение NULL.
CHARACTER_SET_CATALOG nvarchar(128) Всегда возвращает значение NULL.
CHARACTER_SET_SCHEMA nvarchar(128) Всегда возвращает значение NULL.
CHARACTER_SET_NAME nvarchar(128) Имя кодировки возвращаемого значения. Для несимвольных типов возвращает значение NULL.
NUMERIC_PRECISION smallint Точность возвращаемого значения. Для нечисловых типов возвращает значение NULL.
NUMERIC_PRECISION_RADIX smallint Основание системы счисления для точности возвращаемого значения. Для нецифровых типов возвращает значение NULL.
NUMERIC_SCALE smallint Масштаб возвращаемого значения. Для нецифровых типов возвращает значение NULL.
DATETIME_PRECISION smallint Точность дробной доли секунды, если возвращаемое значение имеет тип datetime. В противном случае возвращается значение NULL.
INTERVAL_TYPE nvarchar(30) NULL. Зарезервировано для последующего использования.
INTERVAL_PRECISION smallint NULL. Зарезервировано для последующего использования.
TYPE_UDT_CATALOG nvarchar(128) NULL. Зарезервировано для последующего использования.
TYPE_UDT_SCHEMA nvarchar(128) NULL. Зарезервировано для последующего использования.
TYPE_UDT_NAME nvarchar(128) NULL. Зарезервировано для последующего использования.
SCOPE_CATALOG nvarchar(128) NULL. Зарезервировано для последующего использования.
SCOPE_SCHEMA nvarchar(128) NULL. Зарезервировано для последующего использования.
SCOPE_NAME nvarchar(128) NULL. Зарезервировано для последующего использования.
MAXIMUM_CARDINALITY bigint NULL. Зарезервировано для последующего использования.
DTD_IDENTIFIER nvarchar(128) NULL. Зарезервировано для последующего использования.
ROUTINE_BODY nvarchar(30) Возвращает SQL для функции Transact-SQL и EXTERNAL для внешней написанной функции.

Функции всегда SQL.
ROUTINE_DEFINITION nvarchar(4000) Возвращает первые 4 000 символов текста определения функции или хранимой процедуры, если они не зашифрованы. В противном случае возвращается значение NULL.

Чтобы получить полное определение, выполните запрос к функции OBJECT_DEFINITION или столбцу определения в представлении каталога sys.sql_modules .
EXTERNAL_NAME nvarchar(128) NULL. Зарезервировано для последующего использования.
EXTERNAL_LANGUAGE nvarchar(30) NULL. Зарезервировано для последующего использования.
PARAMETER_STYLE nvarchar(30) NULL. Зарезервировано для последующего использования.
IS_DETERMINISTIC nvarchar(10) Возвращает «YES», если процедура детерминированная.

Возвращает «NO», если процедура недетерминированная.

Всегда возвращает «NO» для хранимых процедур.
SQL_DATA_ACCESS nvarchar(30) Возвращает одно из следующих значений:

NONE = функция не содержит SQL;

CONTAINS = функция может содержать SQL;

READS = функция, возможно, считывает данные SQL;

MODIFIES = функция, возможно, изменяет данные SQL.

Возвращает READS для всех функций и MODIFIES для всех хранимых процедур.
IS_NULL_CALL nvarchar(10) Указывает, будет ли вызываться процедура, если один из ее аргументов равен NULL.
SQL_PATH nvarchar(128) NULL. Зарезервировано для последующего использования.
SCHEMA_LEVEL_ROUTINE nvarchar(10) Возвращает «YES», если это функция уровня схемы, или «NO» в противном случае.

Всегда возвращает «YES».
MAX_DYNAMIC_RESULT_SETS smallint Максимальное число динамических результирующих наборов, возвращаемых процедурой.

Возвращает 0, если функция.
IS_USER_DEFINED_CAST nvarchar(10) Возвращает «YES», если это пользовательская функция приведения, и «NO» в противном случае.

Всегда возвращает NO.
IS_IMPLICITLY_INVOCABLE nvarchar(10) Возвращает «YES», если процедуру можно вызвать неявно, и «NO» в противном случае.

Всегда возвращает NO.
СОЗДАНО datetime Время создания процедуры.
LAST_ALTERED datetime Время последнего изменения функции.

См. также

Системные представления (Transact-SQL)
Представления схемы сведений (Transact-SQL)
sys.columns (Transact-SQL)
sys.objects (Transact-SQL)
sys.procedures (Transact-SQL)
sys.sql_modules (Transact-SQL)