BEGIN
INSERT INTO t_order_pricesum(r_company,priceSum)
SELECT r_company,sum(price) FROM t_order GROUP BY r_company;
END
我把t_order表中的数据筛选求和后插入t_order_pricesum里,
但t_order更新后再执行函数,因为原来有值了,无法更新,
怎么做才能在不删除t_order_pricesum表里的数据的情况下,更新数据。
INSERT 改成 REPLACE
如果有旧纪录会在插入前将旧纪录删除
直接再建一个表放数据不可以吗
merge into t_order_pricesum t1
using (SELECT r_company,sum(price) as prriceSum FROM t_order GROUP BY r_company) t2
on (t1.r_company=t2.r_company)
when matched then
update set t1.priceSum=t2.priceSum
when not matched then
insert values(t2.r_company,t2.priceSum)
insert 后面也可以加列名称 例如
insert(t1.r_company,t1.priceSum) values(t2.r_company,t2.priceSum)
希望能帮到你