CREATE TRIGGER TR_UpdateFPH ON zhangbuzz
FOR UPDATE
ASupdate b set 凭证编号=a.fph from inserted a,equipment b
where b.code=a.code and b.rkdh=a.rkdhupdate b set fph=a.fph from inserted a,rkdjMark b
where b.code=a.code and b.rkdh=a.rkdhupdate b set fph=a.fph from inserted a,device_in1 b
where b.code=a.code and b.rkdh=a.rkdhgo
FOR UPDATE
ASupdate b set 凭证编号=a.fph from inserted a,equipment b
where b.code=a.code and b.rkdh=a.rkdhupdate b set fph=a.fph from inserted a,rkdjMark b
where b.code=a.code and b.rkdh=a.rkdhupdate b set fph=a.fph from inserted a,device_in1 b
where b.code=a.code and b.rkdh=a.rkdhgo
2。为表设置主键
3。多条记录同时插入应修改你的存储过程:
CREATE TRIGGER TR_UpdateFPH ON zhangbuzz
FOR UPDATE
AS
SET XACT_ABORT ON
BEGIN TRAN
UPDATE b SET 凭证编号=a.fph
FROM inserted a,equipment b
WHERE b.code=a.code and b.rkdh=a.rkdh UPDATE b SET fph=a.fph
FROM inserted a,rkdjMark b
WHERE b.code=a.code and b.rkdh=a.rkdh UPDATE b SET fph=a.fph
FROM inserted a,device_in1 b
WHERE b.code=a.code and b.rkdh=a.rkdh COMMIT TRAN
go
不管inserted有多少只会返回一个值。和事务没有关系。
你要把表用联接的方式处理 ,改称下面的应该就OK了CREATE TRIGGER TR_UpdateFPH ON zhangbuzz
FOR UPDATE
ASupdate b set 凭证编号=a.fph from inserted a,equipment b
where b.code=a.code and b.rkdh=a.rkdhupdate b set fph=a.fph from inserted a,rkdjMark b
where b.code=a.code and b.rkdh=a.rkdhupdate b set fph=a.fph from inserted a,device_in1 b
where b.code=a.code and b.rkdh=a.rkdh