?? -
字號:
IF EXISTS(SELECT NAME FROM SYSOBJECTS WHERE NAME='實地盤點_PROC' AND TYPE='P')
DROP PROC 實地盤點_PROC
GO
create procedure 實地盤點_PROC
@SUM CHAR(1)
AS
CREATE TABLE #實地盤點
(
序號 INT IDENTITY(1,1),
科目編碼 VARCHAR(30),
借方 NUMERIC(18,6) DEFAULT(0),
貸方 NUMERIC(18,6) DEFAULT(0))
CREATE TABLE #實地盤點匯總
(
科目編碼 VARCHAR(30),
借方 NUMERIC(18,6) DEFAULT(0),
貸方 NUMERIC(18,6) DEFAULT(0))
/*如果調整數量為負數*/
INSERT INTO #實地盤點 (貸方,科目編碼 )
SELECT 材料成本金額, '存貨_材料' FROM 實地盤點數據表
WHERE 材料成本金額<0
INSERT INTO #實地盤點 (貸方,科目編碼 )
SELECT 人工成本金額,'存貨_人工' FROM 實地盤點數據表 WHERE 人工成本金額<0
INSERT INTO #實地盤點 (貸方,科目編碼 )
SELECT 制造費用金額, '存貨_制造' FROM 實地盤點數據表
WHERE 制造費用金額<0
INSERT INTO #實地盤點 (借方,科目編碼 )
SELECT 材料成本金額+人工成本金額+制造費用金額,
'庫存調整' FROM 實地盤點數據表
WHERE 材料成本金額<0 OR 人工成本金額<0 OR 制造費用金額<0
/*如果調整數量為正數*/
INSERT INTO #實地盤點 (借方,科目編碼 )
SELECT 材料成本金額, '存貨_材料' FROM 實地盤點數據表
WHERE 材料成本金額>0
INSERT INTO #實地盤點 (借方,科目編碼 ) SELECT
人工成本金額, '存貨_人工' FROM 實地盤點數據表 WHERE 人工成本金額>0
INSERT INTO #實地盤點 (借方,科目編碼 )
SELECT 制造費用金額, '存貨_制造' FROM 實地盤點數據表
WHERE 制造費用金額>0
INSERT INTO #實地盤點 (貸方,科目編碼 )
SELECT 材料成本金額+人工成本金額+制造費用金額,
'庫存調整' FROM 實地盤點數據表
WHERE 材料成本金額>0 OR 人工成本金額>0 OR 制造費用金額>0
IF @SUM='D'
SELECT * FROM #實地盤點
ELSE
IF @SUM='S'
BEGIN
SELECT 科目編碼,SUM(借方),SUM(貸方) FROM #實地盤點 GROUP BY 科目編碼
END
-- EXEC 實地盤點_PROC 'D'
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -