0
這是我的代碼。爲什麼我在這裏得到這個異常?它屬於同一類型! mitarbeitergehalt.gueltigab = DATE.
「在PLSQL中比較日期時,調用'>'時出現錯誤的參數數量或類型
CREATE OR REPLACE FUNCTION fu_gehalt_am(p_maID IN mitarbeiter.mitarbeiterid%TYPE
,p_Date IN mitarbeitergehalt.gueltigab%TYPE)
RETURN NUMBER AS
v_gehalt mitarbeitergehalt.gehalt%TYPE DEFAULT 0;
BEGIN
FOR v_dates IN (SELECT gueltigab
FROM mitarbeitergehalt
WHERE mitarbeiterid = p_maID
ORDER BY 1)
LOOP
IF v_dates > p_Date THEN <--------------------------------------- HERE!!
SELECT gehalt
INTO v_gehalt
FROM mitarbeitergehalt
WHERE v_dates = gueltigab AND mitarbeiterid = p_maID;
RETURN gehalt;
END IF;
END LOOP;
RETURN 0;
END;
/
什麼是表的定義第'mitarbeitergehalt'? –
它應該是'IF v_dates.gueltigab> p_Date',因爲'v_dates'是一個不是DATE變量的遊標變量, –
謝謝Tony! – asparagus