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ů:
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.
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.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.
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. |