sqlserver2005触发器问题

Posted

tags:

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

我又一个表a,想在表上创建触发器,我想在往a中插入数据之前先判断插入的数据中的主键是不是已经存在,如果存在则直接在表中存在的那行数据最后的num字段加上1,表明有两个一样的值,就像购物是买同样的几件商品。如果我不这样做,会直接提示错误,因为插入了两个相同的主键,所以我想在插入之前判断,不知道这样能不能实现,好像那个触发器只有after,没有什么before这些的

参考技术A 可以实现,触发器里有两个临时表(deleted,inserted);
deleted表是存放即将删除和修改以前的数据;(和表的结构一样)
inserted表是存放即将增加和修改以后的数据;(和表的结构一样)
在触发器中查出要增加的数据的主键和表中的数据进行比较,若存在就加1,反之则:增加;
==========================================================================
触发器还通常分成 before 触发器和 after 触发器。语句级别的"before"触发器通常在语句开始做任何事情之前触发,而语句级别的"after"触发器在语句结束时触发。
参考技术B create trigger tr on tb instead of insert
.........本回答被提问者和网友采纳

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

sqlserver2005触发器问题

从 Visual Studio 连接到 SQL Server 2005

sqlserver 2005 触发器,的小问题

在 DataAdapter.Update/Refresh 后未设置 DataTable 标识列,使用“而不是”触发器(SqlServer 2005)

sql server 2005安装时出现了这个问题,帮忙解决一下。

SQL Server 2005 触发器 - 如何安全地确定是由 UPDATE 还是 DELETE 触发?