sql2008 怎么调试触发器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql2008 怎么调试触发器相关的知识,希望对你有一定的参考价值。

在项目中,单击右键选择"添加"->"触发器",代码如下(validateyear.cs):
  using
system;
  using
system.data;
  using
system.data.sqlclient;
  using
microsoft.sqlserver.server;
  public
partial
class
triggers
  
  //
为目标输入现有表或视图并取消对特性行的注释
  [microsoft.sqlserver.server.sqltrigger
(name="validateyear",
  target="humanresources",
event="for
insert")]
  public
static
void
validateyear()
  
  //
用您的代码替换
  sqlconnection
conn
=
new
sqlconnection("context
connection=true");
  //定义查询
  string
sql
=
  "select
count(*)
"
+
  "from
inserted
"
+
  "where
year(modifieddate)<>2012";
  sqlcommand
comm
=
new
sqlcommand(sql,
conn);
  //打开连接
  conn.open();
  //获得行数
  int
numbadrows
=
(int)comm.executescalar();
  if
(numbadrows
>
0)
  
  //get
the
sqlpipe
  sqlpipe
pipe
=
sqlcontext.pipe;
  //role
back
and
raise
an
error
  comm.commandtext
=
"raiseerror('修改错误',11,1)";
  //send
the
error
  try
  
  
  catch
  
  
  system.transactions.transaction.current.rollback();
  
  conn.close();
  
  
  用于验证插入的数据是否合法,当插入表humanresources是,如果修改日期的年份不是2012将报错。
  另外要注意的是要使用system.transactions.transaction.current.rollback(),必须添加system.transactions的引用
参考技术A 触发器一般在update,delete,insert
时候触发、、、你可以根据你写的触发器。在该表
执行相应的操作~~查看有没有执行触发器里的语句本回答被提问者采纳

以上是关于sql2008 怎么调试触发器的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server2008 触发器中,根据一个表修改另外一个表

SQL server 如何调试触发器!

SQL Server 2008 触发器错误删除

更新触发器 SQL Server 2008

如何将一个触发器写入 SQL Server 2008 的所有表

SQL Server 2008 触发器:检查插入的值