Вот мой код:
SET SERVEROUTPUT ON;
CREATE OR REPLACE PROCEDURE fillHist_station
AS
*--filling the cursor*
CURSOR cur_newTab IS(
SELECT s.NUM_STATION, extract (year from r.DATER), cl.NB_RESERV, SUM(p.MONTANT)
FROM STATION s, HOTEL h, CHAMBRE c, RESERVATION r, CLIENTS cl, PAYEMENT p
WHERE s.NUM_STATION=h.NUM_STATION and h.NUM_HOTEL=c.NUM_HOTEL and c.IDCHAMBRE=r.IDCHAMBRE and r.NUMC=cl.NUMC and cl.NUMC=p.NUMC
GROUP BY s.NUM_STATION, extract (year from r.DATER), cl.NB_RESERV);
V_numStation STATION.NUM_STATION%TYPE;
V_anne VARCHAR2(4);
V_nbreserve CLIENTS.NB_RESERV%TYPE;
V_revenu NUMBER(5);
BEGIN
OPEN cur_newTab;
LOOP
*--fetching the values from the cursor in my variables*
FETCH cur_newTab INTO V_numStation, V_anne, V_nbreserve, V_revenu;
DBMS_OUTPUT.PUT_LINE(V_numStation||' '||V_anne||' '||V_nbreserve||' '||V_revenu);
EXIT WHEN cur_newTab%notfound;
*--inserting the values of the variables in a new table that i just created*
INSERT INTO HIST_STATION ("NUM_STATION","ANNEE","NB_RESERV","REVENU") VALUES(V_numStation,V_anne,V_nbreserve,V_revenu);
*--showing the values of the variables in the dbms output to see my results*
DBMS_OUTPUT.PUT_LINE(V_numStation||' '||V_anne||' '||V_nbreserve||' '||V_revenu);
END LOOP;
CLOSE cur_newTab;
END fillHist_station;
/
SHOW ERRORS;
И ошибок не обнаружено. Вот вывод сценария:
Procedure FILLHIST_STATION compiled
No errors.
Единственная проблема в том, что в моем выводе dbms я не получаю никаких результатов
и новая таблица все еще пуста.
и вот что должно появиться:
2 2018 6 1400
2 2017 1 2800
2 2018 3 8800
5 2018 2 1000
5 2018 1 950
3 2019 1 2800
2 2019 6 1400
2 2018 5 1550
3 2018 5 1550
3 2018 1 2800
1 2018 4 2300
5 2018 4 1300