完全可以
例子:CREATE OR REPLACE PROCEDURE CM_PRO_EACH_LAYER
(
VAR_MON IN VARCHAR2
)
AS
ERROR_ VARCHAR2(100) ;
BEGIN
ERROR_:='ERROR IN INPUT BASIC DATA!';
DELETE FROM CM_EACH_LAYER_DETAIL
WHERE MON_DATE=VAR_MON ;
INSERT INTO CM_EACH_LAYER_DETAIL(
MON_DATE ,
ST_ID ,
DES ,
COST_CENTER ,
COST_TYPE ,
ID )
SELECT VAR_MON ,
ST_ID ,
DES ,
COST_CENTER ,
COST_TYPE ,
ID
FROM CM_LAYER_COST_CENTER ; ERROR_:='原物料,制造費用,直接人工成本金額計算出錯!'; UPDATE CM_EACH_LAYER_DETAIL A
SET A.DETAIL_1L=
(
SELECT SUM(B.TOTAL_USE_AMOUNT)
FROM CM_PART_ST_MATERIAL_COST_SAVED B
WHERE B.MON_DATE=VAR_MON
AND B.ST_ID NOT IN ('RT')
AND B.COST_CODE NOT IN ('JB00','WGCOST')
AND SUBSTR(B.PART_ID,4,1)='1'
AND B.ST_ID=A.ST_ID
AND B.TYPE=A.COST_TYPE
)
WHERE A.MON_DATE=VAR_MON
AND A.ST_ID NOT IN ('JB','WG','RT')
AND A.COST_TYPE IN ('原物料','制造費用','直接人工');
例子:CREATE OR REPLACE PROCEDURE CM_PRO_EACH_LAYER
(
VAR_MON IN VARCHAR2
)
AS
ERROR_ VARCHAR2(100) ;
BEGIN
ERROR_:='ERROR IN INPUT BASIC DATA!';
DELETE FROM CM_EACH_LAYER_DETAIL
WHERE MON_DATE=VAR_MON ;
INSERT INTO CM_EACH_LAYER_DETAIL(
MON_DATE ,
ST_ID ,
DES ,
COST_CENTER ,
COST_TYPE ,
ID )
SELECT VAR_MON ,
ST_ID ,
DES ,
COST_CENTER ,
COST_TYPE ,
ID
FROM CM_LAYER_COST_CENTER ; ERROR_:='原物料,制造費用,直接人工成本金額計算出錯!'; UPDATE CM_EACH_LAYER_DETAIL A
SET A.DETAIL_1L=
(
SELECT SUM(B.TOTAL_USE_AMOUNT)
FROM CM_PART_ST_MATERIAL_COST_SAVED B
WHERE B.MON_DATE=VAR_MON
AND B.ST_ID NOT IN ('RT')
AND B.COST_CODE NOT IN ('JB00','WGCOST')
AND SUBSTR(B.PART_ID,4,1)='1'
AND B.ST_ID=A.ST_ID
AND B.TYPE=A.COST_TYPE
)
WHERE A.MON_DATE=VAR_MON
AND A.ST_ID NOT IN ('JB','WG','RT')
AND A.COST_TYPE IN ('原物料','制造費用','直接人工');
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货