--把上句改为
 SELECT @评估点代码=评估点代码 FROM inserted

解决方案 »

  1.   

    CREATE TRIGGER st207b 
    ON [dbo].[st207装备完好率单位完好率视图] 
    INSTEAD OF insert 
    AS 
    BEGIN 
    DECLARE @str varchar(400)
            ,@评估点代码 varchar(40) SELECT @评估点代码=评估点代码 FROM insertedSET @str =
              (SELECT TOP 1 b.装备完好率
             FROM 成绩管理表,    inserted b
             WHERE 成绩管理表.评估点代码 = b.评估点代码) EXEC ('update 成绩管理表 set 参数一=' 
          + @str + ' where 评估点代码=''' 
          + @评估点代码
          + '''') 
    END
      

  2.   

    如果同时插入多条记录:CREATE TRIGGER st207b 
    ON [dbo].[st207装备完好率单位完好率视图] 
    INSTEAD OF insert 
    AS 
    BEGIN --更新成绩管理表
    UPDATE 成绩管理表 
    SET 参数一=B.装备完好率
    from 成绩管理表 A
    join inserted B on A.评估点代码=B.评估点代码--插入记录
    --因为是instead of触发器,所以如果你需要向基表插入数据,你需要写出代码END
      

  3.   

    vivianfdlpw() :
    非常感谢,但用你上面的方法,还是报了那个错,
    好急呀