oracle 存储过程的挑错

来源:百度知道 编辑:UC知道 时间:2024/05/11 00:27:39
CREATE OR REPLACE PROCEDURE SPW_CTR_HOUR_SUM IS
NAME_VALUE cell %TYPE;
CURSOR tarCUR IS select a.name from cell a,TER_MEA_CTR_DATA_AGG b,Ter_mea_ctr_data_CELLTRANS c
where a.CGI=(select c.CGI from TER_MEA_CTR_DATA_AGG b,Ter_mea_ctr_data_CELLTRANS c where b.TargetCellId=c.cptr);
BEGIN
OPEN tarCUR;
LOOP
FETCH tarCUR INTO NAME_VALUE;
EXIT WHEN tarCUR%NOTFOUND;
update TER_MEA_CTR_DATA_AGG set
TargetCellId=NAME_VALUE;

END LOOP;
CLOSE traCUR;
COMMIT;

CURSOR serCUR IS select a.name from cell a,TER_MEA_CTR_DATA_AGG b,Ter_mea_ctr_data_CELLTRANS c
WHERE a.CGI=(select c.CGI from TER_MEA_CTR_DATA_AGG b,Ter_mea_ctr_data_CELLTRANS c where b.ServingCellId=c.cptr );
BEGIN
OPEN serCUR;
LOOP
FETCH serCUR INTO NAME_VALUE;
EXIT WHEN serCUR%NOTFOUND;
update TER_MEA_CTR_DATA_AGG set
ServingCellId=NAME_VALUE;
END LOOP;
CLOSE serCUR;
COMMIT;

END SPW_C

CREATE OR REPLACE PROCEDURE SPW_CTR_HOUR_SUM IS
NAME_VALUE cell%TYPE;
CURSOR tarCUR IS
select a.name
from cell a, TER_MEA_CTR_DATA_AGG b, Ter_mea_ctr_data_CELLTRANS c
where a.CGI =
(select c.CGI
from TER_MEA_CTR_DATA_AGG b, Ter_mea_ctr_data_CELLTRANS c
where b.TargetCellId = c.cptr);
CURSOR serCUR IS
select a.name
from cell a, TER_MEA_CTR_DATA_AGG b, Ter_mea_ctr_data_CELLTRANS c
WHERE a.CGI =
(select c.CGI
from TER_MEA_CTR_DATA_AGG b, Ter_mea_ctr_data_CELLTRANS c
where b.ServingCellId = c.cptr);
BEGIN
OPEN tarCUR;
LOOP
FETCH tarCUR
INTO NAME_VALUE;
EXIT WHEN tarCUR%NOTFOUND;
execute immediate 'update TER_MEA_CTR_DATA_AGG set TargetCellId = ' ||
NAME_VALUE;
commit;
END LOOP;
CLOSE traCUR;