Sdílet prostřednictvím


Uživatelem definované typy CLR

platí pro:SQL Server

SQL Server umožňuje vytvářet databázové objekty, které jsou naprogramovány proti sestavení vytvořenému v modulu CLR (Common Language Runtime) rozhraní .NET Framework. Databázové objekty, které mohou využívat bohatý programovací model poskytovaný CLR, zahrnují triggery, uložené procedury, funkce, agregační funkce a typy.

Poznámka

Možnost spuštění kódu CLR je ve výchozím nastavení v SQL Serveru vypnutá. Modul CLR je možné povolit pomocí uložené procedury sp_configure systému.

Pomocí uživatelem definovaných typů (UDT) můžete rozšířit skalární systém serveru a umožnit tak ukládání objektů CLR v databázi SQL Serveru. UDT mohou obsahovat více prvků a mohou mít chování a liší se od tradičních datových typů aliasů, které se skládají z jednoho systémového datového typu SQL Serveru.

Vzhledem k tomu, že K UDT přistupuje systém jako celek, může jejich použití u složitých datových typů negativně ovlivnit výkon. Komplexní data se obecně nejlépe modelují pomocí tradičních řádků a tabulek. UDT v SQL Serveru jsou vhodné pro následující typ dat:

  • Datum, čas, měna a rozšířené číselné typy
  • Geoprostorové aplikace
  • Zakódovaná nebo šifrovaná data

Proces vývoje UDT v SQL Serveru se skládá z následujících kroků:

  1. Vytvořte kód a sestavte sestavení, které definuje UDT. UDT se definují pomocí libovolného jazyka podporovaného modulem CLR (Common Language Runtime) rozhraní .NET Framework, který vytváří ověřitelný kód. To zahrnuje C# a Visual Basic .NET. Data jsou vystavena jako pole a vlastnosti třídy nebo struktury rozhraní .NET Framework a chování jsou definována metodami třídy nebo struktury.

  2. Zaregistrujte sestavení. UDT lze nasadit prostřednictvím uživatelského rozhraní sady Visual Studio v databázovém projektu nebo pomocí příkazu Transact-SQL CREATE ASSEMBLY, který zkopíruje sestavení obsahující třídu nebo strukturu do databáze.

  3. Vytvořte UDT na SQL Serveru. Jakmile se sestavení načte do hostitelské databáze, použijete příkaz Transact-SQL CREATE TYPE k vytvoření UDT a zveřejnění členů třídy nebo struktury jako členů UDT. UDT existují pouze v kontextu jedné databáze a po registraci nemají žádné závislosti na externích souborech, ze kterých byly vytvořeny.

  4. Pomocí UDT můžete vytvářet tabulky, proměnné nebo parametry. Uživatelem definovaný typ lze použít jako definici sloupce tabulky, jako proměnnou v Transact-SQL dávce nebo jako argument funkce Transact-SQL nebo uložené procedury.

V této části

Článek Popis
Vytváření uživatelsky definovaných typů Popisuje, jak vytvářet UDT.
Registrace uživatelem definovaných typů v SQL Serveru Popisuje, jak zaregistrovat a spravovat UDT v SQL Serveru.
Práce s uživatelem definovanými typy v SQL Serveru Popisuje, jak vytvářet dotazy pomocí UDT.
uživatelem definované typy Accessu v ADO.NET Popisuje, jak pracovat s UDT pomocí zprostředkovatele dat rozhraní .NET Framework pro SQL Server v ADO.NET.