CREATE TRIGGER tr_A
ON A
FOR INSERT
AS
BEGIN
UPDATE
A
SET
A.d=B.f,
A.e=B.f*B.g
FROM
A JOIN B ON ( A.关联列 = B.关联列 )
JOIN inserted ON (A.a = inserted.a AND A.b = inserted.b AND A.c = inserted.c)
WHERE
A.d is null AND A.e is null;
END
注1:
因为触发的时候
A.d 和 A.e 都是 null
因此
A.d=B.f, A.e=A.d*B.g
被修改成
A.d=B.f, A.e=B.f*B.g
注2:
不知道你的表A 的主键是什么, 因此有
JOIN inserted ON (A.a = inserted.a AND A.b = inserted.b AND A.c = inserted.c)
如果表 A 的主键是 a , 那么代码可修改为
JOIN inserted ON (A.a = inserted.a )
参考下:
create trigger addData
on [A]
for insert
as
begin
update A
set d=f,e=g
from A,B
where a=确定到某行的字段
end