错误报告 -
ORA-06550:第 6 行,第 5 列:
PLS-00382:表达式类型错误
ORA-06550:第 6 行,第 5 列:
PL/SQL:忽略 SQL 语句
06550。00000 -“第 %s 行,第 % 列s:\n%s"
*原因:通常是 PL/SQL 编译错误。
*行动:
这是代码:
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;
/