Error report -
ORA-06550: line 6, column 5:
PLS-00382: expression is of wrong type
ORA-06550: line 6, column 5:
PL/SQL: SQL Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
This is the code:
SET SERVEROUTPUT ON;
CREATE OR REPLACE FUNCTION NUMBEROFHOTELS
RETURN SYS_REFCURSOR AS
cur_nbOfHotels SYS_REFCURSOR;
BEGIN
OPEN cur_nbOfHotels FOR
SELECT COUNT(*), s.REGION
FROM HOTEL h, STATION s
WHERE h.NUM_STATION = s.NUM_STATION AND h.CATEGORIE='3star'
GROUP BY s.REGION;
RETURN cur_nbOfHotels;
END NUMBEROFHOTELS;
/
show errors;
DECLARE
V_nbHotels number :=0;
v_reg STATION.REGION%TYPE;
cur_nbhotels SYS_REFCURSOR := NUMBEROFHOTELS();
BEGIN
OPEN cur_nbhotels;
LOOP
FETCH cur_nbhotels INTO V_nbHotels,v_reg;
EXIT WHEN cur_nbhotels%notfound;
DBMS_OUTPUT.PUT_LINE(v_reg||' '||V_nbHotels);
END LOOP;
CLOSE cur_nbhotels;
END;
/