这样的触发器是不能进行批量修改的,你是否进行了批量修改?
可以用游标实现:
CREATE TRIGGER AA ON [dbo].[TABLE1] 
FOR UPDATE
AS
  DECLARE @TID INT
  DECLARE @ynn varchar(50)
  DECLARE @ynnn varchar(50)
  DECLARE @xnn varchar(50)
  DECLARE @xnnn varchar(50)
  DECLARE Employee_Cursor CURSOR FOR  SELECT tid   FROM deleted  OPEN Employee_Cursor
 
  FETCH NEXT FROM Employee_Cursor into @tid
     WHILE @@FETCH_STATUS = 0
  BEGIN
    select @ynn = tnn, @ynnn=tnnn from deleted where tid=@tid  
    select @xnn = tnn, @xnnn=tnnn from inserted where tid=@tid
    insert into table2  (ynn, xnn, ynnn,xnnn) values (@ynn, @xnn, @ynnn, @xnnn)
    FETCH NEXT FROM Employee_Cursor into @tid
  END  CLOSE Employee_Cursor
  DEALLOCATE Employee_Cursor

解决方案 »

  1.   

    但是上面那个也是相同的为什么能用呀,我刚才试了一下能用,只要动一下dypb_table就在xgjl_table中加一条记录
      

  2.   

    这回兄弟真急呀,哥哥们帮一下吧,这个软件我用触发器做成功了,一共几十张表都加上了这样的触发器,为啥只有这个不行呀,这些触发器功能是用户update 了哪张表,就有记录在案。
      

  3.   

    哈哈,谢谢大家,我软件中加一条sql.Add('update seyangap_table set kehu='''+kehu.text+'''  where seyangbh='''+seyangbh.Caption+'''');  就好了,我发现我这张表是批处理,所以我在保存修改时加了一个单独的update 其实这个只是为了触发器的运行,谢谢大家