Skip to content

Latest commit

 

History

History
48 lines (35 loc) · 3.63 KB

create-clr-triggers.md

File metadata and controls

48 lines (35 loc) · 3.63 KB
title description author ms.author ms.date ms.service ms.topic helpviewer_keywords
Create CLR Triggers
Create CLR Triggers
MikeRayMSFT
mikeray
03/16/2017
sql
conceptual
CRL triggers
DML triggers, CLR triggers
DDL triggers, CLR triggers

Create CLR Triggers

[!INCLUDE SQL Server] You can create a database object inside [!INCLUDEssNoVersion] that is programmed in an assembly created in the [!INCLUDEmsCoName] [!INCLUDEdnprdnshort] common language runtime (CLR). Database objects that can leverage the rich programming model provided by the CLR include DML triggers, DDL triggers, stored procedures, functions, aggregate functions, and types.

Creating a CLR trigger (DML or DDL) in [!INCLUDEssNoVersion] involves the following steps:

  • Define the trigger as a class in a .NET Framework-supported language. For more information about how to program triggers in the CLR, see CLR Triggers. Then, compile the class to build an assembly in the [!INCLUDEdnprdnshort] using the appropriate language compiler.

  • Register the assembly in [!INCLUDEssNoVersion] using the CREATE ASSEMBLY statement. For more information about assemblies in [!INCLUDEssNoVersion], see Assemblies (Database Engine).

  • Create the trigger that references the registered assembly.

Note

Deploying a SQL Server Project in [!INCLUDEmsCoName] [!INCLUDEvsprvs] registers an assembly in the database that was specified for the project. Deploying the project also creates CLR triggers in the database for all methods annotated with the SqlTrigger attribute. For more information, see Deploying CLR Database Objects.

[!NOTE] The ability of [!INCLUDEssNoVersion] to execute CLR code is off by default. You can create, alter, and drop database objects that reference managed code modules, but these references will not execute in [!INCLUDEssNoVersion] unless the clr enabled Option is enabled using sp_configure (Transact-SQL).

To create, modify, or drop an assembly

To create a CLR trigger

See Also

DML Triggers
Common Language Runtime (CLR) Integration Programming Concepts
Data Access from CLR Database Objects