你的位置:首页 > 数据库

[数据库]Clr编写Insert Triggr


在CLR编写一个插入娄据的触发器。

这个触发器是当对表插入数据时,即时把刚才插入的数据显示出来:

 

可复制代码:

public static void tri_RetrieveJustInsertedData()  {     SqlCommand command;    SqlTriggerContext triggContext = SqlContext.TriggerContext;    SqlPipe pipe = SqlContext.Pipe;    SqlDataReader sdr;    switch (triggContext.TriggerAction)    {      case TriggerAction.Insert:        using (SqlConnection connection = new SqlConnection(@"context connection=true"))        {          connection.Open();          command = new SqlCommand(@"SELECT [Fruit_nbr],[FruitKind_nbr],[FruitName] FROM INSERTED;",            connection);          sdr = command.ExecuteReader(CommandBehavior.SingleRow);          while (sdr.Read())          {            string result = (byte)sdr["Fruit_nbr"] + " " + (byte)sdr["FruitKind_nbr"] + " " + (string)sdr["FruitName"];             pipe.Send(result);          }                  }        break;    }  }

View Code


当成功build产生DLL文件。

当点击"OK"铵钮之后,可以看到:



然后在数据查询分析器,执行下面代码:


 

执行结果: