Delen via


Door de gebruiker gedefinieerde CLR-typen

van toepassing op:SQL Server-

SQL Server biedt u de mogelijkheid om databaseobjecten te maken die zijn geprogrammeerd op basis van een assembly die is gemaakt in de .NET Framework Common Language Runtime (CLR). Databaseobjecten die kunnen profiteren van het uitgebreide programmeermodel van de CLR zijn triggers, opgeslagen procedures, functies, statistische functies en typen.

Notitie

De mogelijkheid om CLR-code uit te voeren, is standaard ingesteld op UIT in SQL Server. De CLR kan worden ingeschakeld met behulp van de sp_configure systeem opgeslagen procedure.

U kunt door de gebruiker gedefinieerde typen (UDT's) gebruiken om het scalaire typesysteem van de server uit te breiden, waardoor opslag van CLR-objecten in een SQL Server-database mogelijk is. UDT's kunnen meerdere elementen bevatten en kunnen gedrag hebben, waarbij ze worden onderscheiden van de traditionele aliasgegevenstypen die bestaan uit één gegevenstype van het SQL Server-systeem.

Omdat UDT's door het systeem als geheel worden geopend, kan het gebruik voor complexe gegevenstypen een negatieve invloed hebben op de prestaties. Complexe gegevens zijn over het algemeen het beste gemodelleerd met traditionele rijen en tabellen. UDT's in SQL Server zijn geschikt voor het volgende type gegevens:

  • Datum, tijd, valuta en uitgebreide numerieke typen
  • Georuimtelijke toepassingen
  • Gecodeerde of versleutelde gegevens

Het proces voor het ontwikkelen van UDFT's in SQL Server bestaat uit de volgende stappen:

  1. Codeer en bouw de assembly die de UDT definieert. UDT's worden gedefinieerd met behulp van een van de talen die worden ondersteund door de .NET Framework Common Language Runtime (CLR) die verifieerbare code produceren. Dit omvat C# en Visual Basic .NET. De gegevens worden weergegeven als velden en eigenschappen van een .NET Framework-klasse of -structuur en gedrag worden gedefinieerd door methoden van de klasse of structuur.

  2. Registreer de assembly. UDT's kunnen worden geïmplementeerd via de gebruikersinterface van Visual Studio in een databaseproject of met behulp van de Transact-SQL CREATE ASSEMBLY-instructie, waarmee de assembly met de klasse of structuur wordt gekopieerd naar een database.

  3. Maak de UDT in SQL Server. Zodra een assembly in een hostdatabase is geladen, gebruikt u de instructie Transact-SQL CREATE TYPE om een UDT te maken en de leden van de klasse of structuur beschikbaar te maken als leden van de UDT. UDT's bestaan alleen in de context van één database en hebben na registratie geen afhankelijkheden van de externe bestanden waaruit ze zijn gemaakt.

  4. Tabellen, variabelen of parameters maken met behulp van de UDT. Een door de gebruiker gedefinieerd type kan worden gebruikt als de kolomdefinitie van een tabel, als een variabele in een Transact-SQL batch of als argument van een Transact-SQL functie of opgeslagen procedure.

In deze sectie

Artikel Beschrijving
door de gebruiker gedefinieerde typen maken Hierin wordt beschreven hoe u UDT's maakt.
Door de gebruiker gedefinieerde typen registreren in SQL Server Hierin wordt beschreven hoe u UDT's registreert en beheert in SQL Server.
Werken met door de gebruiker gedefinieerde typen in SQL Server Hierin wordt beschreven hoe u query's maakt met behulp van UDF's.
door de gebruiker gedefinieerde typen van Access in ADO.NET Hierin wordt beschreven hoe u met UDT's werkt met behulp van de .NET Framework-gegevensprovider voor SQL Server in ADO.NET.