create trigger my_trig on a for inserted as begin update b set 用途 = i.用途 ... from b , (select t.* from a where a.品号 = (select 品号 from inserted)) i where b.品号 = i.品号 end
是不是要考虑不存在,则插入,存在则更新呢? create trigger my_trig on a for inserted as begin if not exists(select 1 from b where 品号 = (select 品号 from insered)) insert into b select top 1 ... from a where a.品号 = (select 品号 from inserted) order by 单据日期 desc else update b set 用途 = i.用途 ... from b , (select top 1 t.* from a where a.品号 = (select 品号 from inserted) order by 单据日期 desc) i where b.品号 = i.品号 end
create tigger test on a for insert,update begin update b set 用途=a.日期 from b, (select * from inserted i where 日期=(select max(日期) from inserted where 单号=i.单号))a where a.单号=b.单号 end
create trigger tri1 on a for insert as begin update b set 用途=(select top 1 单据日期+请购部门 from a inner join inserted on a.品名=inserted.品名) end --难道是这样
create trigger tri1 on a for insert as begin update b set 用途=(select top 1 单据日期+请购部门 from a inner join inserted i1 on a.品名=i1.品名 order by a.单据日期 desc) from inserted i where b.序号=i.序号 --这里假设序号是B主键 end 大概差不多这样,有问题肯定是没说清楚引起的
as
begin
update b set 用途 = i.用途 ...
from b , (select t.* from a where a.品号 = (select 品号 from inserted)) i
where b.品号 = i.品号
end
create trigger my_trig on a for inserted
as
begin
if not exists(select 1 from b where 品号 = (select 品号 from insered))
insert into b select top 1 ... from a where a.品号 = (select 品号 from inserted) order by 单据日期 desc
else
update b set 用途 = i.用途 ...
from b , (select top 1 t.* from a where a.品号 = (select 品号 from inserted) order by 单据日期 desc) i
where b.品号 = i.品号
end
for insert,update
begin
update
b
set
用途=a.日期
from
b,
(select * from inserted i where 日期=(select max(日期) from inserted where 单号=i.单号))a
where
a.单号=b.单号
end
create trigger tri1 on a
for insert
as
begin
update b set 用途=(select top 1 单据日期+请购部门 from a inner join inserted on a.品名=inserted.品名)
end
--难道是这样
for insert
as
begin
update b set
用途=(select top 1 单据日期+请购部门 from a inner join inserted i1 on a.品名=i1.品名 order by a.单据日期 desc)
from inserted i
where b.序号=i.序号 --这里假设序号是B主键
end
大概差不多这样,有问题肯定是没说清楚引起的