?? proc_實(shí)地盤(pán)點(diǎn)過(guò)賬.sql
字號(hào):
IF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE NAME= 'PROC_實(shí)地盤(pán)點(diǎn)過(guò)賬' AND TYPE='P')
DROP PROC PROC_實(shí)地盤(pán)點(diǎn)過(guò)賬
go
CREATE PROC PROC_實(shí)地盤(pán)點(diǎn)過(guò)賬
AS
DECLARE
@年 INT,@月 INT,@物料編碼 VARCHAR(30),@數(shù)量差異 NUMERIC,@倉(cāng)庫(kù)編碼 VARCHAR(10),@貨位 VARCHAR(10),
@材料成本金額 NUMERIC,@批號(hào) VARCHAR(30),@人工成本金額 NUMERIC,@制造費(fèi)用金額 NUMERIC
create table #實(shí)地盤(pán)點(diǎn)過(guò)賬_累計(jì)
(
物料編碼 VARCHAR(30),
年 INT,
月 INT,
數(shù)量差異 numeric,
材料成本金額 numeric ,
人工成本金額 numeric ,
制造費(fèi)用金額 numeric )
create table #實(shí)地盤(pán)點(diǎn)過(guò)賬_貨位
(
物料編碼 VARCHAR(30),
倉(cāng)庫(kù)編碼 VARCHAR(10),
貨位 VARCHAR(10),
批號(hào) VARCHAR(15),
數(shù)量差異 numeric(18,6))
insert into #實(shí)地盤(pán)點(diǎn)過(guò)賬_累計(jì) select 物料編碼,YEAR(日期),MONTH(日期),SUM(實(shí)際數(shù)量-截止數(shù)量) as 數(shù)量差異 ,SUM(材料成本金額)as 材料成本金額 ,
SUM(人工成本金額) as 人工成本金額, SUM(制造費(fèi)用金額) as 制造費(fèi)用金額
FROM 實(shí)地盤(pán)點(diǎn)數(shù)據(jù)表 GROUP BY 物料編碼,日期,日期
insert into #實(shí)地盤(pán)點(diǎn)過(guò)賬_貨位 select 物料編碼,倉(cāng)庫(kù)編碼,貨位,批號(hào),SUM(實(shí)際數(shù)量-截止數(shù)量) as 數(shù)量差異 FROM 實(shí)地盤(pán)點(diǎn)數(shù)據(jù)表 GROUP BY 物料編碼,倉(cāng)庫(kù)編碼,貨位,批號(hào)
declare p1 scroll cursor
for
select 物料編碼,年,月,數(shù)量差異,材料成本金額,人工成本金額 ,制造費(fèi)用金額 from #實(shí)地盤(pán)點(diǎn)過(guò)賬_累計(jì)
open p1
fetch p1 into @物料編碼,@年,@月,@數(shù)量差異,@材料成本金額,@人工成本金額,@制造費(fèi)用金額
while @@fetch_status=0
begin
if not exists(select * from 明細(xì)庫(kù)存表 where 物料編碼=@物料編碼 AND 年=@年 AND 月=@月 )
INSERT 明細(xì)庫(kù)存表 (物料編碼,年,月,入庫(kù)累計(jì)數(shù)量,入庫(kù)累計(jì)材料成本,入庫(kù)累計(jì)人工成本,入庫(kù)累計(jì)制造費(fèi)用)VALUES( @物料編碼,@年,@月,@數(shù)量差異,@材料成本金額,@人工成本金額,@制造費(fèi)用金額)
ELSE
UPDATE 明細(xì)庫(kù)存表 SET 入庫(kù)累計(jì)數(shù)量=入庫(kù)累計(jì)數(shù)量+@數(shù)量差異, 入庫(kù)累計(jì)材料成本=入庫(kù)累計(jì)材料成本+@材料成本金額,
入庫(kù)累計(jì)人工成本=入庫(kù)累計(jì)人工成本+@人工成本金額,入庫(kù)累計(jì)制造費(fèi)用=入庫(kù)累計(jì)制造費(fèi)用+@制造費(fèi)用金額 WHERE 物料編碼=@物料編碼 AND 年=@年 AND 月=@月
fetch from p1 into @物料編碼,@年,@月,@數(shù)量差異,@材料成本金額,@人工成本金額 ,@制造費(fèi)用金額
end
close p1
deallocate p1
declare p2 scroll cursor
for
select 物料編碼,倉(cāng)庫(kù)編碼,貨位,批號(hào),數(shù)量差異 from #實(shí)地盤(pán)點(diǎn)過(guò)賬_貨位
open p2
fetch from p2 into @物料編碼,@倉(cāng)庫(kù)編碼,@貨位,@批號(hào),@數(shù)量差異
while @@fetch_status=0
begin
if not exists(select * from 物料與貨位對(duì)照表 where 物料編碼=@物料編碼 AND 貨位編碼=@貨位 AND 批號(hào)=@批號(hào) AND 倉(cāng)庫(kù)編碼=@倉(cāng)庫(kù)編碼)
INSERT 物料與貨位對(duì)照表 (物料編碼,倉(cāng)庫(kù)編碼,貨位編碼,批號(hào),貨位存量)VALUES( @物料編碼,@倉(cāng)庫(kù)編碼,@貨位,@批號(hào),@數(shù)量差異)
ELSE
UPDATE 物料與貨位對(duì)照表 SET 貨位存量=貨位存量+@數(shù)量差異 WHERE 物料編碼=@物料編碼 AND 貨位編碼=@貨位 AND 批號(hào)=@批號(hào) AND 倉(cāng)庫(kù)編碼=@倉(cāng)庫(kù)編碼
fetch from p2 into @物料編碼,@倉(cāng)庫(kù)編碼,@貨位,@批號(hào),@數(shù)量差異
end
close p2
deallocate p2
-- EXEC PROC_實(shí)地盤(pán)點(diǎn)過(guò)賬
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -