檢視使用者自訂函數

有一些系統預存程序和目錄檢視提供關於預存程序的資訊。使用這些資訊,您可以:

  • 參閱函數的定義。也就是,使用 Transact-SQL 陳述式來建立使用者自訂函數。如果您沒有用以建立函數的 Transact-SQL 指令碼檔案,這將會非常有用。

  • 取得有關函數的資訊,例如其結構描述、建立時間及其參數等。

  • 列出指定的函數所使用的物件,及使用指定函數的物件。這些資訊可用來識別哪些函數會受到資料庫中物件變更或移動的影響。

若要檢視使用者自訂函數的定義

若要檢視使用者自訂函數的資訊

若要檢視使用者自訂函數的相依性

範例

A. 使用系統目錄檢視傳回使用者自訂函數資訊

下列範例使用 sys.objects 和 sys.parameters 目錄檢視傳回有關使用者自訂函數及其參數的資訊。

-- Display metadata about the user-defined functions in AdventureWorks2008R2.
USE AdventureWorks2008R2;
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 AdventureWorks2008R2;
GO
SELECT OBJECT_DEFINITION(OBJECT_ID('dbo.ufnGetContactInformation'));
GO

C. 使用 sys.sql_expression_dependencies

下列範例使用 sys.sql_expression_dependencies 和 sys.columns 目錄檢視傳回使用者自訂函數 dbo.ufnGetContactInformation 相依的資料表和資料行名稱。

USE AdventureWorks2008R2;
GO
SELECT OBJECT_NAME(d.referencing_id) AS referencing_entity, 
    OBJECT_NAME(referenced_id) AS referenced_entity, 
    referenced_minor_id AS referenced_column_id,
    c.name AS referenced_column 
FROM sys.sql_expression_dependencies AS d
JOIN sys.columns AS c ON c.object_id = d.referenced_id
    AND c.column_id = d.referenced_minor_id
WHERE d.referencing_id = OBJECT_ID(N'AdventureWorks2008R2.dbo.ufnGetContactInformation');

請參閱

概念

其他資源