1、建立臨時表,存放期初資料
create
table cux_bh_cost_ny7 (item_id number,
item_num varchar2(260),
item_des varchar2(260),
cost_group_id number,
pac_period_id number,
quantity number,
item_cost_amount number);
2、將整理的資料新增到臨時表
select * from cux_bh_cost_ny7 for
update;
3、更新pac物料成本表
declare
cursor c_c is
select cpic.cost_layer_id, t.*
from cst_pac_item_costs cpic, cux_bh_cost_ny7 t
where t.item_id = cpic.inventory_item_id
and t.pac_period_id = cpic.pac_period_id
and t.cost_group_id = cpic.cost_group_id;
begin
for c in c_c loop
update cst_pac_item_costs t
set t.total_layer_quantity = c.quantity
where t.cost_layer_id = c.cost_layer_id;
update cst_pac_item_cost_details t
set t.item_balance = c.item_cost_amount,
t.item_cost = c.item_cost_amount / c.quantity
where t.cost_layer_id = c.cost_layer_id;
end loop;
commit;
end;
4、提交pac成本計算程式,系統將會按照新的數量和金額產生pac期初成本。 線段樹(單點更新and成段更新)
線段樹需要的空間。區間為1 n 假設是一棵完全二叉樹,且樹高為i。完全二叉樹性質 第i層最多有2 i 1 個結點。那麼 2 i 1 n i log2 n 1 共有 2 i 1 個結點,即 2 log2 n 1 1個結點 即2 2 log2 n 1 2 n 1 但這是建立樹是完全二叉樹的情況下。但是如...
線段樹成段更新之延遲更新
成段更新的重點是延遲更新,以區間 1,3 為例說明。注意,此例中 更新 為修改元素的值為a,查詢 為求區間中所有元素之和。建立二叉樹如圖示 每乙個圓圈代表乙個結點,圓內數字分別為結點標號和所對應區間,i 表示只含乙個數,只出現在葉節點中。當 要更新區間 1,2 中所有元素時,對應上圖即要更新結點4,...
線段樹成段更新 MB
include include using namespace std struct node a 4 1100000 int dp 1100000 n,m long long max long long int x,long long int y void build int l,int r,in...