커서는 출력한 셀렉트문에서 한 행씩 가져와(fetch) 처리할 수 있도록 해준다.
DECLARE
v_prod VARCHAR2(30);
v_qty NUMBER(10,0);
CURSOR UpRemain_cur IS
SELECT buy_prod, SUM(buy_qty) FROM buyprod
WHERE EXTRACT(YEAR FROM buy_date) = 2020
GROUP BY buy_prod ORDER BY buy_prod ASC;
BEGIN
OPEN UpRemain_cur;
FETCH UpRemain_cur INTO v_prod, v_qty;
WHILE (UpRemain_cur%FOUND) LOOP
DBMS_OUTPUT.PUT_LINE( UpRemain_cur%ROWCOUNT || '번째 상품='
|| v_prod || ' 입고수량=' || v_qty || '입니다.');
FETCH UpRemain_cur INTO v_prod, v_qty;
END LOOP;
CLOSE UpRemain_cur;
END;