Sdílet prostřednictvím


Vytvoření uživatelem definovaných agregací

platí pro: SQL Server 2016 (13.x) a novější verze

Databázový objekt můžete vytvořit uvnitř SQL Serveru, který je naprogramovaný v sestavení CLR. Databázové objekty, které mohou používat bohatý programovací model poskytovaný clR, zahrnují triggery, uložené procedury, funkce, agregační funkce a typy.

Podobně jako předdefinované agregační funkce poskytované v jazyce Transact-SQL provádějí uživatelem definované agregační funkce výpočet na sadě hodnot a vracejí jednu hodnotu.

Vytvoření uživatelem definované agregační funkce v SQL Serveru zahrnuje následující kroky:

  • Definujte uživatelem definovanou agregační funkci jako třídu v jazyce podporovaném rozhraním Microsoft .NET Framework. Další informace o tom, jak programovat uživatelem definované agregace v CLR, naleznete v tématu CLR uživatelem definované agregace. Zkompilujte tuto třídu pro sestavení CLR pomocí příslušného kompilátoru jazyka.

  • Zaregistrujte sestavení na SQL Serveru pomocí příkazu CREATE ASSEMBLY. Další informace o assemblych v SQL Serveru naleznete v tématu Assembly (Databázový Stroj).

  • Pomocí příkazu CREATE AGGREGATE vytvořte agregaci definovanou uživatelem, která odkazuje na registrované sestavení.

Spouštění kódu CLR je ve výchozím nastavení na SQL Serveru vypnuté. Databázové objekty, které odkazují na moduly spravovaného kódu, můžete vytvářet, měnit a odstraňovat, ale tyto odkazy se nespouštějí na SQL Serveru, pokud není povolená možnost konfigurace clr serveru pomocí sp_configure.

Nasazení projektu SQL Serveru v Microsoft Visual Studio zaregistruje sestavení v databázi, která byla přiřazená pro projekt. Nasazení projektu také vytvoří funkce CLR v databázi pro všechny metody anotované pomocí atributu SqlFunction. Další informace najdete v tématu Nasazení databázových objektů CLR.

Vytvoření, úprava nebo vyřazení sestavení

Vytvoření uživatelem definované agregace

  • CREATE AGGREGATE (Transact-SQL)