创建一个触发器,A表出发,把A表的信息更新到B表汇总
CREATE TRIGGER [dbo].[updateAdvPayTime] on [dbo].[Balance]
AFTER insert
as
begin
declare @id INTEGER
select @id=B_AdItemID from inserted --获取插入数据的值
update AdvItem set AI_PayDate = ‘’ where sys_documentId = @id;
declare advupdatepaydate CURSOR for (select B_AdItemID,CONVERT(varchar(10) ,B_Date, 23) bdate from Balance where B_AdItemID=@id and B_Type=0); --定义游标
open advupdatepaydate --打开游标
DECLARE @advId int,@bdate --创建变量
FETCH next from advupdatepaydate into @advId,@bdate --循环游标
WHILE @@FETCH_STATUS = 0 --判断游标是否为读取失败,读取失败则为-1 代表最后一行
BEGIN
update AdvItem set AI_PayDate+= @bdate where sys_documentId = @advId;
FETCH next from advupdatepaydate into @advId,@bdate; --继续读取下一行数据
END
close advupdatepaydate ; --关闭游标
deallocate advupdatepaydate; --释放游标
end;