查看用户定义函数

更新日期: 2005 年 12 月 5 日

有几种系统存储过程和目录视图可提供有关存储过程的信息。使用它们,您可以:

  • 查看函数的定义,也就是用于创建用户定义函数的 Transact-SQL 语句。如果您没有用于创建函数的 Transact-SQL 脚本文件,这会很有用。
  • 获得有关函数的信息(例如函数的架构、创建时间及其参数)。
  • 列出指定函数所使用的对象及使用指定函数的对象。此信息可用来识别那些受数据库中某个对象的更改或删除影响的函数。

查看用户定义函数的定义

查看有关用户定义函数的信息

查看用户定义函数的依赖关系

示例

A. 使用系统目录视图返回用户定义函数信息

下面的示例使用目录视图 sys.objectssys.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

B. 使用 OBJECT_DEFINITION

下面的示例使用系统函数 OBJECT_DEFINITION 返回用户定义函数 dbo.ufnGetContactInformation 的定义。

USE AdventureWorks;
GO
SELECT OBJECT_DEFINITION(OBJECT_ID('dbo.ufnGetContactInformation'));
GO

C. 使用 sys.sql_dependencies

下面的示例使用 sys.sql_dependenciessys.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 帮助

更改历史记录

版本 历史记录

2005 年 12 月 5 日

新增内容:
  • 添加了示例 C。