首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> 關於C#

SQL Server CLR 整合:使用 C# 編寫托管觸發器完整教程

     編輯:關於C#

SQL Server 2005 引入 CLR 整合,允許使用 C#、VB.NET 等現代面向對象語言編寫資料庫物件 (存儲過程、觸發器、用戶定義函數等)。本文逐步演示如何建立、部署、測試 C# 托管觸發器。

先決條件

  • Visual Studio 2005 (或更新版本)
  • SQL Server 2005+ 並啟用 CLR

步驟 1:建立 SQL Server 資料庫專案

  1. VS 中 File → New → Project → Database → SQL Server Project。
  2. 新建SQL Server專案

步驟 2:添加資料庫參考

  1. 右鍵專案 → Add Database Reference,設定目標資料庫連接。
  2. 添加資料庫參考

步驟 3:添加觸發器項目

  1. 右鍵專案 → Add → Trigger,命名為 Trigger1.cs。
  2. 添加觸發器
  3. 觸發器模板

步驟 4:編寫觸發器代碼

using System;
using System.Data;
using System.Data.SqlClient;
using Microsoft.SqlServer.Server;

public partial class Triggers
{
    // 目標表 Person,事件 FOR UPDATE
    [Microsoft.SqlServer.Server.SqlTrigger(Name="Trigger1", Target="Person", Event="FOR UPDATE")]
    public static void Trigger1()
    {
        // 發送訊息到客戶端 (如 SSMS 輸出視窗)
        SqlContext.Pipe.Send("Trigger FIRED");
    }
}

注意: 確保資料庫中存在 Person 表,或修改 Target 為實際表名。

步驟 5:建置並部署

  1. 右鍵專案 → Build,再 → Deploy。
  2. 建置部署

步驟 6:啟用 CLR 並測試

在 SSMS 執行:

sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO

對 Person 表執行 UPDATE 語句,即可在「訊息」頁籤看到 Trigger FIRED 輸出。

觸發器測試結果

托管觸發器將複雜業務邏輯從 T-SQL 移至 C#,利用 .NET 框架優勢 (OOP、異常處理、外部資源訪問) 增強資料庫可程式性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved