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


Просмотр пользовательских функций

Изменения: 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 г.

Новое содержимое:
  • Добавлен пример В.