Condividi tramite


Creazione di funzioni di aggregazione definite dall'utente

Microsoft SQL Server 2005 consente di creare un oggetto di database all'interno di SQL Server programmato in un assembly CLR. Gli oggetti di database che possono sfruttare il complesso modello di programmazione fornito da CLR includono trigger, stored procedure, funzioni, funzioni di aggregazione e tipi.

Analogamente alle funzioni di aggregazione predefinite incluse in Transact-SQL, le funzioni di aggregazione definite dall'utente eseguono un calcolo su un insieme di valori e restituiscono un unico valore.

Per creare una funzione di aggregazione definita dall'utente in SQL Server, eseguire le operazioni descritte di seguito:

  • Impostare la funzione di aggregazione definita dall'utente come una classe utilizzando un linguaggio supportato in Microsoft .NET Framework. Per ulteriori informazioni sulla programmazione di funzioni di aggregazione definite dall'utente in CLR, vedere CLR User-Defined Aggregates. Compilare questa classe per generare un assembly CLR utilizzando il compilatore di linguaggio appropriato.
  • Per registrare l'assembly in SQL Server, utilizzare l'istruzione CREATE ASSEMBLY. Per ulteriori informazioni sugli assembly in SQL Server, vedere Assembly (Motore di database).
  • Per creare la funzione di aggregazione definita dall'utente che fa riferimento all'assembly registrato, utilizzare l'istruzione CREATE AGGREGATE.

[!NOTA] Con la distribuzione di un progetto SQL Server in Microsoft Visual Studio viene registrato un assembly nel database specificato per il progetto. La distribuzione del progetto consente inoltre di creare una funzione di aggregazione definita dall'utente nel database per tutte le definizioni di classe annotate con l'attributo SqlUserDefinedAggregate. Per ulteriori informazioni, vedere Deploying CLR Database Objects.

[!NOTA] Per impostazione predefinita, l'esecuzione di codice CLR in SQL Server è disattivata. È possibile creare, modificare ed eliminare oggetti di database che fanno riferimento a moduli di codice gestito. Tali riferimenti non verranno tuttavia eseguiti in SQL Server a meno che non si attivi l'opzione CLR tramite sp_configure (Transact-SQL).

Per creare, modificare o eliminare un assembly

Per creare una funzione di aggregazione definita dall'utente

Vedere anche

Altre risorse

Implementazione di funzioni definite dall'utente
Database Engine .NET Framework Programming

Guida in linea e informazioni

Assistenza su SQL Server 2005