创建CLR自定义触发器-C#

发表于:2007-06-30来源:作者:点击数: 标签:
第一步:在Visual Studio 2005中编写代码 using System; using System.Data; using System.Data.Sql; using System.Data.SqlServer; using System.Data.SqlTypes; public partial class Triggers { // Enter existing table or view for the target and uncom
第一步:在Visual Studio 2005中编写代码
using System;
using System.Data;
using System.Data.Sql;
using System.Data.SqlServer;
using System.Data.SqlTypes;
public partial class Triggers
{
// Enter existing table or view for the target and uncomment the attribute line
// [SqlTrigger (Name="myTrigger", Target="Table1", Event="FOR UPDATE")]
public static void myTrigger()
{
SqlTriggerContext myTriggerContext = SqlContext.GetTriggerContext();
SqlPipe myPipe = SqlContext.GetPipe();
SqlCommand myCommand = SqlContext.GetCommand();
if (myTriggerContext.TriggerAction == TriggerAction.Insert)
{
myCommand.CommandText = "select * from spTestTbl";
}
myPipe.Execute(myCommand);
}
}

第二步:编译,部署(Build,Deploy)
第三步:注册到Yukon
语法:
CREATE TRIGGER trigger_name ON table_name FOR INSERT|UPDATE|DELETE
AS EXTERNAL NAME assembly_name.class_name.clr_trigger_name

示例:
CREATE TRIGGER myTrigger ON testTbl1 FOR INSERT
AS EXTERNAL NAME udt.Triggers.myTrigger


原文转自:http://www.ltesting.net