create or replace FUNCTION NOTGIVEN RETURN VARCHAR2 AS
IAD VARCHAR2(20);
IND VARCHAR2(20);
CURSOR C1 IS SELECT Q_ID FROM QUESTION WHERE NOT Q_ID in (SELECT Q.Q_ID FROM QUESTION Q INNER JOIN ANSWER A ON Q.Q_ID = A.Q_ID);
BEGIN
OPEN C1;
LOOP
FETCH C1 INTO IND;
EXIT WHEN C1%NOTFOUND;
IF C1%FOUND THEN --if found then
SELECT Q_ID INTO IAD FROM QUESTION WHERE Q_ID = IND;
DBMS_OUTPUT.PUT_LINE(IAD);
END IF;
IF C1%NOTFOUND THEN
DBMS_OUTPUT.PUT_LINE('no found');--if not found
END IF;
END LOOP;
CLOSE C1;
END NOTGIVEN;
我试图制作一个函数,它给出了所有答案不存在的问题,它给出了适当的输出,但显示了这种类型的错误 ORA-06503: PL/SQL: Function returned without value , line 21 ORA-06512: at line at 5 i也尝试了异常,但它不起作用。