update B set aic072 = (
select sum(aic021) from A where AAE002 = '..' group by AAC001),
aic058 = (
select sum(aic021) from A where AAE002 = '..' group by AAC001),
AAE001 = substr(AAE002,1,4)
where B.AAC001 = A.AAC001
select sum(aic021) from A where AAE002 = '..' group by AAC001),
aic058 = (
select sum(aic021) from A where AAE002 = '..' group by AAC001),
AAE001 = substr(AAE002,1,4)
where B.AAC001 = A.AAC001
select sum(aic021) from A group by AAC001,substr(AAE002,1,4)),
aic058 = (
select sum(aic021) from A group by AAC001,substr(AAE002,1,4)),
AAE001 = substr(AAE002,1,4)
where B.AAC001 = A.AAC001
prm_nd IN VARCHAR2,
prm_AppCode OUT NUMBER,
prm_ErrorMsg OUT VARCHAR2)
IS
/*-- 变量声明 ----------------------------------------------------------*/
n_aic021_sum NUMBER(12,2);
n_aic024_sum NUMBER(12,2);
n_aic020_sum NUMBER(12,2);
n_count INTEGER;
v_aab001 VARCHAR2(14); BEGIN
-- 初始化
prm_AppCode := pkg_comm.def_OK; SELECT SUM(aic021),SUM(aic024),SUM(aic020),COUNT(1),max(aab001) INTOn_aic021_sum,n_aic024_sum,n_aic020_sum,n_count,v_aab001
FROM ic01
WHERE aac001 = prm_grbh
AND substr(aae002,1,4) = prm_nd
AND aae114 = '1'
AND aae115 = '1'
AND aae143 = '1'
AND aae200 = '11'
AND akc021 = '11';
UPDATE IC02
SET AIC072= n_aic021_sum,
AIC058= n_aic024_sum,
AIC080= n_aic020_sum
WHERE AAC001=prm_grbh
AND AAE001=prm_nd;
IF SQL%NOTFOUND THEN
INSERT INTO ic02(aac001,aae001,aab001,AIC072,AIC058,AIC080,aae120)
VALUES(prm_grbh,prm_nd+i,v_aab001,n_aic021_sum,n_aic024_sum,n_aic020_sum,'0');
END IF;
Exception
When Others Then
prm_AppCode := -1;
prm_ErrorMsg := '存储过程pkg_I_ZHGL.Prc_ic02_once)出错!'||SqlErrm; END Prc_ic02_once;这是为上面的问题写的过程,请大家指导下为什么错了!!
select AAE002,aic021,aic024 (select DATENAME ( year , AAE002) as AAE002,sum(aic021) as aic021,sum(aic024) as aic024
from a group by DATENAME ( year , AAE002)) as a
where a.AAE002=b.AAE001