求解Delphi + SQL 批量更新数据的问题。谢谢

来源:百度知道 编辑:UC知道 时间:2024/05/29 13:02:35
我的SQL中有两张表:[入库明细表]、[库存表]

[入库明细表]中有字段:ID,数量
[库存表]中有字段:ID,数量

我想让[入库明细表]中的数量,与[库存表]中相对应的ID的数量批量求和。

请问怎么实现?谢谢。
注意:
1、[入库明细表]中有N条记录,且N≥1;
2、求和的结果是要返回到[库存表]中。

with AdoQuery1 do
begin
close;
sql.Clear;
sql.add:=('update 库存表 set a.数量=a.数量+b.数量 from 库存表 a,入库明细表 b where a.id=b.id');
ExecSQL;
end;

with adodataset do
close;//首先关闭数据集
commandtext:='update 库存表 set 数量=数量+明细表.数量 where exist(select id from 明细表 where 明细表.id=库存表.id)';
open;//打开数据集;
commandtext的值大约就是那样,自己调试一下啊,环境不足不能测试。

update 库存表 set a.数量=a.数量+b.数量 from 库存表 a,入库明细表 b where a.id=b.id
这种做法没有问题,我试过了

SQL用触发器,DELPHI用代码累加