try:
CREATE TRIGGER [UpdateText] ON [dbo].[AE首饰型号材料] 
FOR   UPDATE, INSERT
AS
declare @StrText varchar(300),@Bj varchar(20),@CLBH varchar(30),@SL int,@ZL numeric(20,6)
declare @MC varchar(30),@GG varchar(20),@SLDW varchar(20),@ZLDW varchar(20),@SSXH varchar(20)


declare AExhcl_cursor cursor for select C.[部件],C.[材料编号],C.[数量],C.[重量] 
from [dbo].[AE首饰型号材料] AS C 
join inserted b on  C.[首饰型号] = b.[首饰型号]

open AExhcl_cursor
Fetch next from AExhcl_cursor into @Bj,@CLBH,@Sl,@Zl
WHILE (@@fETCH_STATUS = 0)
BEGIN
  select @MC = B.[名称],@GG = B.[规格], @SLDW = B.[数量单位],@ZLDW = B.[重量单位]  from dbo.AA原材料 B where B.[编号] = inserted.[材料编号]
  Set @strText =@strText +  @Bj + ':' + @CLBH + @MC + ',' + @GG + ',' + convert(varchar,@SL) + @SLDW + ',' + convert(varchar,@ZL) + @ZLDW
  Fetch next from AExhcl_cursor into @Bj,@CLBH,@Sl,@Zl
END;
        
update dbo.AE首饰型号 set dbo.AE首饰型号.[备注]=@StrText 
from inserted 
where dbo.AE首饰型号.[首饰型号] = inserted.[首饰型号]

close AExhcl_cursor
deallocate AExhcl_cursor

解决方案 »

  1.   

    CREATE TRIGGER [UpdateText] ON [dbo].[AE首饰型号材料] 
    FOR   UPDATE, INSERT
    AS
    declare @StrText varchar(300),@Bj varchar(20),@CLBH varchar(30),@SL int,@ZL numeric(20,6)
    declare @MC varchar(30),@GG varchar(20),@SLDW varchar(20),@ZLDW varchar(20),@SSXH varchar(20)


    declare AExhcl_cursor cursor for select C.[部件],C.[材料编号],C.[数量],C.[重量] from [dbo].[AE首饰型号材料] AS C where C.[首饰型号] in (select [首饰型号] from inserted)

    open AExhcl_cursor
    Fetch next from AExhcl_cursor into @Bj,@CLBH,@Sl,@Zl
    WHILE (@@fETCH_STATUS = 0)
    BEGIN
      select @MC = B.[名称],@GG = B.[规格], @SLDW = B.[数量单位],@ZLDW = B.[重量单位]  from dbo.AA原材料 B where B.[编号] in (select [材料编号] from inserted)
      Set @strText =@strText +  @Bj + ':' + @CLBH + @MC + ',' + @GG + ',' + convert(varchar,@SL) + @SLDW + ',' + convert(varchar,@ZL) + @ZLDW
      Fetch next from AExhcl_cursor into @Bj,@CLBH,@Sl,@Zl
    END;
            
    update dbo.AE首饰型号 set dbo.AE首饰型号.[备注]=@StrText where dbo.AE首饰型号.[首饰型号] in (select [首饰型号] from inserted)

    close AExhcl_cursor
      

  2.   

    CREATE TRIGGER [UpdateText] ON [dbo].[AE首饰型号材料] 
    FOR   UPDATE, INSERT
    AS
    declare @StrText varchar(300),@Bj varchar(20),@CLBH varchar(30),@SL int,@ZL numeric(20,6)
    declare @MC varchar(30),@GG varchar(20),@SLDW varchar(20),@ZLDW varchar(20),@SSXH varchar(20)


    declare AExhcl_cursor cursor for select C.[部件],C.[材料编号],C.[数量],C.[重量]
    from [dbo].[AE首饰型号材料] AS C,inserted where C.[首饰型号] = inserted.[首饰型号]

    open AExhcl_cursor
    Fetch next from AExhcl_cursor into @Bj,@CLBH,@Sl,@Zl
    WHILE (@@fETCH_STATUS = 0)
    BEGIN
      select @MC = B.[名称],@GG = B.[规格], @SLDW = B.[数量单位],@ZLDW = B.[重量单位]  from dbo.AA原材料 B,inserted where B.[编号] = inserted.[材料编号]
      Set @strText =@strText +  @Bj + ':' + @CLBH + @MC + ',' + @GG + ',' + convert(varchar,@SL) + @SLDW + ',' + convert(varchar,@ZL) + @ZLDW
      Fetch next from AExhcl_cursor into @Bj,@CLBH,@Sl,@Zl
    END;
            
    update dbo.AE首饰型号 set dbo.AE首饰型号.[备注]=@StrText
    from dbo.AE首饰型号,inserted where dbo.AE首饰型号.[首饰型号] = inserted.[首饰型号]

    close AExhcl_cursor