Compilare oggetti di database con integrazione CLR (Common Language Runtime)
Si applica a:SQL Server
È possibile compilare oggetti di database usando l'integrazione di SQL Server con Common Language Runtime (CLR) di .NET Framework. Il codice gestito eseguito all'interno di SQL Server viene chiamato routine CLR . Queste routine includono:
- Funzioni definite dall'utente con valori scalari
- Funzioni definite dall'utente con valori di tabella
- Procedure definite dall'utente
- Trigger definiti dall'utente
Le routine CLR hanno la stessa struttura in codice gestito. Viene eseguito il mapping ai metodi statici e pubblici (condivisi in Visual Basic .NET) di una classe. Oltre alle routine, è possibile definire tipi definiti dall'utente e funzioni di aggregazione definite dall'utente utilizzando .NET Framework. Viene eseguito il mapping dei tipi definiti dall'utente (UDT) e delle aggregazioni definite dall'utente a intere classi di .NET Framework.
Ogni tipo di routine di .NET Framework ha una dichiarazione Transact-SQL e può essere usato ovunque in SQL Server sia possibile usare l'equivalente Transact-SQL. Le funzioni scalari definite dall'utente, ad esempio, possono essere utilizzate in qualsiasi espressione scalare. Un valore TVF può essere usato in qualsiasi clausola FROM
. Una routine può essere richiamata in un'istruzione EXEC
o richiamata da un'applicazione client.
L'esecuzione di un oggetto CLR (funzione definita dall'utente, tipo definito dall'utente o trigger) in Common Language Runtime può essere eseguita su più thread (piano parallelo), se Query Optimizer decide che è utile. Tuttavia, se una funzione definita dall'utente accede ai dati, l'esecuzione è in un piano seriale.
Nella tabella seguente sono elencati gli articoli trattati in questa sezione.
Articolo | Descrizione |
---|---|
Introduzione all'integrazione con CLR | Viene fornita una breve panoramica delle librerie e degli spazi dei nomi necessari per compilare l'oggetto usando l'integrazione con CLR con SQL Server. È inclusa una stored procedure CLR "Hello World" di esempio. |
librerie .NET Framework supportate | Include informazioni sulle librerie .NET Framework supportate dall'integrazione CLR. |
restrizioni del modello di programmazione di integrazione CLR | Include informazioni sulle restrizioni del modello di programmazione dell'integrazione CLR. |
tipi di dati di SQL Server in .NET Framework | Panoramica dei tipi di dati di SQL Server e dei relativi equivalenti .NET Framework. |
integrazione clr : attributi personalizzati per routine CLR | Include informazioni sugli attributi personalizzati dell'integrazione CLR. |
funzioni CLR definite dall'utente | Viene descritto come implementare e utilizzare i diversi tipi di funzioni CLR, ovvero le funzioni con valori di tabella, le funzioni scalari e le funzioni di aggregazione definite dall'utente. |
tipi CLR definiti dall'utente | Viene descritto come implementare e utilizzare i tipi CLR definiti dall'utente. |
stored procedure CLR | Viene descritto come implementare e utilizzare le stored procedure CLR. |
trigger CLR | Viene descritto come implementare e utilizzare i trigger CLR. |