Condividi tramite


Visualizzazione delle funzioni definite dall'utente

Numerose stored procedure e viste del catalogo di sistema forniscono informazioni relative alle stored procedure. Mediante tali stored procedure e viste è possibile:

  • Visualizzare la definizione della funzione, ovvero le istruzioni Transact-SQL di cui è costituita. Può risultare utile se non sono disponibili i file script Transact-SQL utilizzati per la creazione della funzione.

  • Recuperare informazioni su una funzione quali lo schema, la data di creazione e i parametri.

  • Visualizzare un elenco degli oggetti utilizzati dalla funzione specificata e degli oggetti che utilizzano la funzione. È possibile utilizzare queste informazioni per identificare le funzioni interessate dalla modifica o rimozione di un oggetto nel database.

Per visualizzare la definizione di una funzione definita dall'utente

Per visualizzare informazioni relative a una funzione definita dall'utente

Per visualizzare le dipendenze di una funzione definita dall'utente

Esempi

A. Utilizzo delle viste del catalogo di sistema per recuperare informazioni relative a una funzione definita dall'utente

Negli esempi seguenti vengono utilizzate le viste del catalogo sys.objects e sys.parameters per recuperare informazioni sulle funzioni definite dall'utente e i relativi parametri.

-- 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. Utilizzo di OBJECT_DEFINITION

Nell'esempio seguente la funzione di sistema OBJECT_DEFINITION viene utilizzata per recuperare la definizione della funzione definita dall'utente dbo.ufnGetContactInformation.

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

C. Utilizzo di sys.sql_expression_dependencies

Nell'esempio seguente vengono utilizzate le viste del catalogo sys.sql_expression_dependencies e sys.columns per visualizzare i nomi di tabella e di colonna da cui dipende la funzione definita dall'utente 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');