日期:2014-05-18  浏览次数:20440 次

使用触发器,如何使得在修改一张表的数据时,另一张表得的一个类似数据发生变化
现有表1 deviceapplylist ,字段userno deviceno 等
  表2 deviceinfo , 字段userno deviceno 等


我想再修改表1的deviceno时候,自动触发表2中有着相同deviceno的 userno变成表1中userno的值

比如表1中userno=123, 我update deviceno=1,那么表2中deviceno=1的userno变成123

不知道这样的功能是否能够实现

下面是我写的一个触发器
CREATE TRIGGER TRI_changeuserno
ON deviceapplylist
FOR UPDATE--//INSERT触发方式
AS
SET NOCOUNT ON--//关闭回响

UPDATE S
SET S.userno=I.userno
FROM deviceinfo S, inserted I

where S.deviceno=I.deviceno

SET NOCOUNT OFF

本人新手,望各位高手指点

------解决方案--------------------
LZ这个可以的。 
但是触发器尽量少用或尽量使用短小的触发器事务,一个是占用资源较多。
另外就是会造成管理成本的增加。
------解决方案--------------------
可以,触发器用得好,可以起到事半功倍的效果,反之则反之.