请问下 为什么我设置了一个触发器 用于update的一共触发4个表 为什么每次返回受影响的行数是 这4个表总条数相加的呢?比如说我更新了1表 触发了A,B,C,D 4个表这4个表中每个表有5条数据 那么我更新1表返回受影响的行数就是 5*4+1(1是更新了1表的那条数据)=21行但是insert触发器就没问题 受影响行数是5条 5个表各一条
触发器代码是ALTER TRIGGER [dbo].[tenants_update]
ON [dbo].[T_Tenants] 
FOR update
AS 
BEGIN
declare @_type nvarchar(10)
SELECT @_type=[Type] from inserted
UPDATE T_Quartewatercostdetail
   SET [Type] = @_type UPDATE T_Quarteelectricitycostdetail
   SET [Type] = @_type UPDATE T_Quartefeescostdetail
   SET [Type] = @_type UPDATE T_Quartecost
   SET [Type] = @_typeEND
这种是不是我建立了数据库关系的原因?
我建立了一个关系 T_Tenants 的ID 等于 其他4个表的TID  跟这个有关吗

解决方案 »

  1.   

    你的insert触发器和update触发器条件一样吗?
      

  2.   

    我应该没有设置条件啊?
    只要对1表进行update就触发
      

  3.   

    你的update触发器都没有where条件呢,你查看一下表1-4里面的各有多少条数据?
      

  4.   

    突然发现了...我晕 
    触发器中的SQL语句也要加where? 否则就把表中的每一条数据都更新了?