Поделиться через


ROUTINES (Transact-SQL)

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

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

Примечание

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

Применимо для следующих объектов: SQL Server (SQL Server 2008 по текущую версию), База данных SQL Windows Azure (С первоначального выпуска по текущий выпуск).

Имя столбца

Тип данных

Описание

SPECIFIC_CATALOG

nvarchar(128)

Определенное имя каталога. Это имя совпадает с ROUTINE_CATALOG.

SPECIFIC_SCHEMA

nvarchar(128)

Определенное имя схемы.

Важное примечаниеВажно!

Не используйте представления INFORMATION_SCHEMA, чтобы определить схему объекта.Единственный надежный способ найти схему объекта — выполнить запрос к представлению каталога sys.objects.

SPECIFIC_NAME

nvarchar(128)

Определенное имя каталога. Это имя совпадает с ROUTINE_NAME.

ROUTINE_CATALOG

nvarchar(128)

Имя каталога функции.

ROUTINE_SCHEMA

nvarchar(128)

Имя схемы, содержащей эту функцию.

Важное примечаниеВажно!

Не используйте представления 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)

Тип данных возвращаемого значения функции. Возвращает table, если это функция с табличным значением.

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 или столбцу 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.

CREATED

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)