Wyświetlanie funkcji zdefiniowanej przez użytkownika

Kilka procedury składowane w systemie i widoki wykazu zawierają informacje dotyczące procedur przechowywanych.Za pomocą tych można:

  • Patrz definicja funkcja.Oznacza to, że Transact-SQL instrukcji użytej do utworzenia funkcja zdefiniowanej przez użytkownika.Może to być przydatne, jeśli nie masz Transact-SQL plików skryptów używanych do utworzenia funkcja.

  • Informacje o funkcja, takich jak schemat, podczas tworzenia i jego parametry.

  • Lista obiektów wykorzystywanych przez określonych funkcja i obiektów, które określonych funkcja.Informacja ta może służyć do identyfikacji funkcji zmieniania lub usuwania obiektu bazy danych.

Aby wyświetlić definicję funkcja zdefiniowanej przez użytkownika

Aby wyświetlić informacje o funkcja zdefiniowanej przez użytkownika

Aby wyświetlić zależności funkcja zdefiniowanej przez użytkownika

Przykłady

A.Za pomocą systemu widoki wykazu do zwracania informacji funkcja zdefiniowana przez użytkownika

W następujących przykładach użyto widoki wykazu sys.objects i sys.parameters zwraca informacje na temat funkcji zdefiniowanej przez użytkownika i ich parametrów.

-- 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.Przy użyciu OBJECT_DEFINITION

Poniższy przykład używa funkcja systemu OBJECT_DEFINITION zwraca definicji funkcja zdefiniowanej przez użytkownika dbo.ufnGetContactInformation.

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

C.Przy użyciu sys.sql_expression_dependencies

W poniższym przykładzie użyto sys.sql_expression_dependencies i sys.columns wykazu widoki, aby powrócić do tabela i kolumna nazwy, na którym funkcja zdefiniowana przez użytkownika dbo.ufnGetContactInformation zależy od.

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');