1:我建议你先自己在本机写一个完整需求的但简单的试一下(顺便把相关代码发过来)
2:建议少用触发器,用存储过程业务去实现.

解决方案 »

  1.   

    更改为:
    ALTER TRIGGER [tr_dxj] 
      ON  [dbo].[DXJ] 
      for UPDATE,INSERT 
    AS 
    SET NOCOUNT ON; 
    declare @str1 int,@str2 int ,@str3 int ,@str4 float,@str5 int 
    DECLARE dxj_Cursor CURSOR 
    FOR 
    SELECT str1,str2,str3,str4,str5 FROM inserted i where i.state=1 
    OPEN dxj_Cursor 
    FETCH from dxj_Cursor into @str1,@str2,@str3,@str4,@str5 
    WHILE (@@FETCH_STATUS = 0) 
    select @str1,@str2,@str3,@str4,@str5
    END 
    FETCH next from dxj_Cursor into @str1,@str2,@str3,@str4,@str5 
    END 
    CLOSE dxj_Cursor; 
    DEALLOCATE dxj_Cursor; 然后用update语句更新基表,看是否有输出.
      

  2.   

    只显示了最后一条记录,并且基础表中的数据并没有更改
      

  3.   

    就个代码,没有需求,怎么知道你的表为什么没有更改?
    楼主别懒,好好说明一下你的需求,给出测试的数据来.
      

  4.   

    按你说的测试了一下,发现代码没问题,现在已找到原因,并解决了,多谢