1、分步完成
从数据库中返回上一条记录的三个字段值,计算出fProdId,然后直接插入就好了。
2、一步完成(嵌套查询,假设fProdId=上一条记录三字段加起来)
insert into a(fCmpId,fProdNo,fProdId) values(@fCmpId,@fProdNo,(select fCmpId+fProdNo+fProdId from a where 获取上一条记录的选择条件))
其实跟分步完成是一样的思路。
update a set fProdId=b.fProdid
from (select * from a where fProdid=0) as b inner join a on
a.fCompId=b.fCompId and a.fProdNo=b.fProdNo
where a.fProdid=0
其实是一个关联表的批量更新
http://www.cnblogs.com/downmoon/archive/2007/12/29/1019832.html
直接在datatable中更新,然后一大批update. 把没用的行数去掉.