ANVÄNDARDEFINIERADE CLR-typer
gäller för:SQL Server
SQL Server ger dig möjlighet att skapa databasobjekt som är programmerade mot en sammansättning som skapats i .NET Framework common language runtime (CLR). Databasobjekt som kan dra nytta av den omfattande programmeringsmodellen som tillhandahålls av CLR inkluderar utlösare, lagrade procedurer, funktioner, aggregeringsfunktioner och typer.
Not
Möjligheten att köra CLR-kod är inställd på AV som standard i SQL Server. CLR kan aktiveras med hjälp av den sp_configure
system lagrade proceduren.
Du kan använda användardefinierade typer (UDT) för att utöka serverns skalära typsystem, vilket möjliggör lagring av CLR-objekt i en SQL Server-databas. UDT kan innehålla flera element och kan ha beteenden, vilket skiljer dem från de traditionella aliasdatatyperna som består av en enda SQL Server-systemdatatyp.
Eftersom UDT:er används av systemet som helhet kan deras användning för komplexa datatyper påverka prestanda negativt. Komplexa data modelleras vanligtvis bäst med traditionella rader och tabeller. UDT:erna i SQL Server passar bra för följande typ av data:
- Datum, tid, valuta och utökade numeriska typer
- Geospatiala program
- Kodade eller krypterade data
Processen med att utveckla UDT:erna i SQL Server består av följande steg:
Koda och skapa sammansättningen som definierar UDT. UDT definieras med något av de språk som stöds av .NET Framework common language runtime (CLR) som producerar verifierbar kod. Detta inkluderar C# och Visual Basic .NET. Data exponeras som fält och egenskaper för en .NET Framework-klass eller -struktur, och beteenden definieras med metoder för klassen eller strukturen.
Registrera sammansättningen. UDT kan distribueras via Visual Studio-användargränssnittet i ett databasprojekt eller med hjälp av Transact-SQL
CREATE ASSEMBLY
-instruktionen, som kopierar sammansättningen som innehåller klassen eller strukturen till en databas.Skapa UDT i SQL Server. När en sammansättning har lästs in i en värddatabas använder du instruktionen Transact-SQL CREATE TYPE för att skapa en UDT och exponera medlemmarna i klassen eller strukturen som medlemmar i UDT. UDT:er finns bara i kontexten för en enskild databas, och när de har registrerats har de inga beroenden för de externa filer som de skapades från.
Skapa tabeller, variabler eller parametrar med UDT. En användardefinierad typ kan användas som kolumndefinition för en tabell, som en variabel i en Transact-SQL batch, eller som ett argument för en Transact-SQL funktion eller lagrad procedur.
I det här avsnittet
Artikel | Beskrivning |
---|---|
Skapa användardefinierade typer | Beskriver hur du skapar UDT:er. |
Registrera användardefinierade typer i SQL Server | Beskriver hur du registrerar och hanterar UDT i SQL Server. |
Arbeta med användardefinierade typer i SQL Server | Beskriver hur du skapar frågor med UDT. |
Åtkomst till användardefinierade typer i ADO.NET | Beskriver hur du arbetar med UDT:er med hjälp av .NET Framework Data Provider för SQL Server i ADO.NET. |