📄 出库_proc.sql
字号:
IF EXISTS(SELECT NAME FROM SYSOBJECTS WHERE NAME='出库_PROC' AND TYPE='P')
DROP PROC 出库_PROC
GO
create procedure 出库_PROC
@SUM CHAR(1),
@TYPE CHAR(1)
AS
CREATE TABLE #出库
(
序号 INT IDENTITY(1,1),
科目编码 VARCHAR(30),
单据号 INT,
借方 NUMERIC(18,6) DEFAULT(0),
贷方 NUMERIC(18,6) DEFAULT(0))
IF @TYPE='T'
BEGIN
INSERT INTO #出库 (单据号,贷方,科目编码 )
SELECT 单据号,材料成本金额, '存货_材料' FROM 出库
WHERE 材料成本金额>0 AND 出库类型='0'
INSERT INTO #出库 (单据号,贷方,科目编码 ) SELECT 单据号,人工成本金额,
'存货_人工' FROM 出库 WHERE 人工成本金额>0 AND 出库类型='0'
INSERT INTO #出库 (单据号,贷方,科目编码 )
SELECT 单据号,制造费用金额, '存货_制造' FROM 出库
WHERE 制造费用金额>0 AND 出库类型='0'
INSERT INTO #出库 (单据号,借方,科目编码 )
SELECT 单据号,材料成本金额+人工成本金额+制造费用金额,
'库存调整' FROM 出库
WHERE 材料成本金额+人工成本金额+制造费用金额>0 AND 出库类型='0'
END
IF @TYPE='P'
BEGIN
INSERT INTO #出库 (单据号,借方,科目编码 )
SELECT 单据号,材料成本金额, '在产品_材料' FROM 出库
WHERE 材料成本金额>0 AND 出库类型='1'
INSERT INTO #出库 (单据号,借方,科目编码 ) SELECT 单据号,人工成本金额,
'在产品_人工' FROM 出库 WHERE 人工成本金额>0 AND 出库类型='1'
INSERT INTO #出库 (单据号,借方,科目编码 )
SELECT 单据号,制造费用金额, '在产品_制造' FROM 出库
WHERE 制造费用金额>0 AND 出库类型='1'
INSERT INTO #出库 (单据号,贷方,科目编码 )
SELECT 单据号,材料成本金额, '存货_材料' FROM 出库
WHERE 材料成本金额>0 AND 出库类型='1'
INSERT INTO #出库 (单据号,贷方,科目编码 ) SELECT 单据号,人工成本金额,
'存货_人工' FROM 出库 WHERE 人工成本金额>0 AND 出库类型='1'
INSERT INTO #出库 (单据号,贷方,科目编码 )
SELECT 单据号,制造费用金额, '存货_制造' FROM 出库
WHERE 制造费用金额>0 AND 出库类型='1'
END
IF @SUM='D'
SELECT * FROM #出库
ELSE
IF @SUM='S'
BEGIN
SELECT 科目编码,SUM(借方),SUM(贷方) FROM #出库 GROUP BY 科目编码
END
-- EXEC 出库_PROC 'D','P'
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -