向各位请教个问题:
我现在写一个月结的存储过程A,先从库存档里(表b)读取一个物料s,再根据s获得历史表l(此表保存每次月结的数据。从而可以做为下次月结的期初库存。)中的期初库存。再计算物料s在这一个月的出入库,盘点,调拨等,最后得到的数量和当前的日期插入到表s中。
每一个物料完成这个过程要2秒,我的物料有9000个。这种算法肯定没意义。请各位指点指点。谢谢!!!
我现在写一个月结的存储过程A,先从库存档里(表b)读取一个物料s,再根据s获得历史表l(此表保存每次月结的数据。从而可以做为下次月结的期初库存。)中的期初库存。再计算物料s在这一个月的出入库,盘点,调拨等,最后得到的数量和当前的日期插入到表s中。
每一个物料完成这个过程要2秒,我的物料有9000个。这种算法肯定没意义。请各位指点指点。谢谢!!!
Insert Into HistoryStorage
(
MaterialID,
HSStoreage,
[Date]
)
select
A.MaterialID,B.HSStoreage+A.MonthStorage,Getdate() as [Date]
from
(
select
MaterialID,
sum(InWareHouse-OutWareHous+Others) as MonthStorage
from
Storage
group by
MaterialID
)A
left join
(
select
MaterialID,
HSStoreage
from
HistoryStorage B
where
Datediff(month,[Date],dateadd(month,-1,getdate()))=0
)B
on
A.MaterialID=B.MaterialID