【IT168 技术文档】前一段时间在数据库中用了触发器后发现了一个问题:如果触发器中修改了某个表中的数据的话,那么用ExecuteNonQuery方法执行一个SQL语句的时候,返回的值将是触发器所影响的行数和sql语句本身所影响的行数的总和。这个问题,对于以往通过ExecuteNonQuery方法的返回值来得知当前SQL语句修改了当前表中几条记录的程序来说,就带来了些麻烦。
下面做个简单的例子,涉及倒两张表:main_table, another_table,和一个定义在main_table上的一个触发器eventful_trigger。
表main_table中有四条数据:
表another_table中有两条数据:
main_table上的触发器定义如下: