ऐसा करने के लिए, आपको एक नया ब्लॉक घोषित करना होगा:
for t in y loop
DECLARE
cursor X IS (
SELECT DISTINCT s.NIF PREMISE,a.COD_UNICOM READING, A.COD_LECT_AREA AREA
FROM SUMCON s, LECT_AREAS a
WHERE a.COD_UNICOM = t.FCODE
AND s.NUM_SUM IN (select num_sum from RFC_UPD_NEW_MRSP_POOL where cod_unicom = t.FCODE)
);
BEGIN
for met in x loop
...
end loop;
END;
हालांकि, मुझे समझ नहीं आ रहा है कि आप इस कर्सर को कर्सर y के साथ घोषित क्यों नहीं कर सकते हैं, जिसे एक पैरामीटर के साथ परिभाषित किया गया है:
cursor X (p_FCODE RFC_UPD_NEW_MRSP_POOL.cod_unicom%TYPE) IS (
SELECT DISTINCT s.NIF PREMISE,a.COD_UNICOM READING, A.COD_LECT_AREA AREA
FROM SUMCON s, LECT_AREAS a
WHERE a.COD_UNICOM = p_FCODE
AND s.NUM_SUM IN (select num_sum from RFC_UPD_NEW_MRSP_POOL where cod_unicom = p_FCODE)
);
तब आप कर्सर को इस प्रकार संदर्भित कर सकते हैं:
FOR met IN x(t.FCODE) LOOP