Просмотр пользовательских функций
Изменения: 5 декабря 2005 г.
Сведения о хранимых процедурах предоставляются несколькими системными хранимыми процедурами и представлениями каталога. С помощью этих сведений можнопроизводить действия, перечисленные ниже.
- Просмотреть определение функции, то есть инструкции Transact-SQL, которые были использованы для создания пользовательской функции. Это может пригодиться, если отсутствуют файлы сценария на языке Transact-SQL, с помощью которого была создана функция.
- Получить сведения о функции, например, ее схему, время создания, параметры.
- Просмотреть объекты, используемые указанной функцией, а также объекты, использующие указанную функцию. Эти сведения могут пригодиться для выявления функций, на которые повлияет изменение или удаление объекта базы данных.
Просмотр определения пользовательской функции
Просмотр сведений о пользовательской функции
Просмотр зависимостей пользовательской функции
Примеры
А. Использование системных представлений каталога для получения сведений о пользовательской функции
В следующем примере для получения сведений о пользовательских функциях и их параметрах используются представления каталога sys.objects
и sys.parameters
.
-- Display metadata about the user-defined functions in AdventureWorks.
USE AdventureWorks;
GO
SELECT *
FROM sys.objects
WHERE type IN ('IF','TF','FN','FS','FT');
GO
-- Return parameters associated with the functions
SELECT o.name AS FunctionName, p.*
FROM sys.objects AS o
JOIN sys.parameters AS p ON o.object_id = p.object_ID
WHERE type IN ('IF','TF','FN','FS','FT');
GO
Б. Использование функции OBJECT_DEFINITION
В следующем примере показано использование системной функции OBJECT_DEFINITION для получения определения пользовательской функции dbo.ufnGetContactInformation
.
USE AdventureWorks;
GO
SELECT OBJECT_DEFINITION(OBJECT_ID('dbo.ufnGetContactInformation'));
GO
В. Использование каталога sys.sql_dependencies
В следующем примере используются представления каталога sys.sql
_dependencies
и sys.columns
для определения названий таблицы и столбца, от которых зависит пользовательская функция dbo.ufnGetContactInformation
.
USE AdventureWorks;
GO
SELECT d.class, OBJECT_NAME(d.object_id) AS ObjectName,
OBJECT_NAME(referenced_major_id) AS ReferencedObjectName,
referenced_minor_id AS ReferencedColumnID,
c.name AS ReferencedColumnName,
is_selected, is_updated, is_select_all
FROM sys.sql_dependencies AS d
JOIN sys.columns AS c ON c.object_id = d.referenced_major_id
AND c.column_id = d.referenced_minor_id
WHERE d.object_id = OBJECT_ID(N'AdventureWorks.dbo.ufnGetContactInformation');
GO
См. также
Другие ресурсы
Реализация пользовательских функций
Справка и поддержка
Получение помощи по SQL Server 2005
Журнал изменений
Версия | Журнал |
---|---|
5 декабря 2005 г. |
|