我想用兩個函數創建以下數據類型:Oracle錯誤:ORA-00900:無效的SQL語句
-- Employee
CREATE OR REPLACE TYPE EmployeeType AS OBJECT (
EmployeeNumber NUMBER,
EmployeeName VARCHAR2(150),
EmployeeAddress VARCHAR2(255),
MAP MEMBER FUNCTION getEmployeeNumber RETURN NUMBER,
MEMBER FUNCTION CalculateSalary RETURN FLOAT(2)
)
NOT FINAL;
CREATE OR REPLACE TYPE BODY EmployeeType AS
MAP MEMBER FUNCTION getEmployeeNumber RETURN NUMBER IS
BEGIN
RETURN EmployeeNumber;
END;
-- function that can be overriden by subtypes, make abstract
MEMBER FUNCTION CalculateSalary RETURN FLOAT(2) IS
BEGIN
-- function returns empty, has to be overwritten by fulltimeemployee
RETURN 0.00;
END;
END;
不過,我不斷收到一個錯誤,說明
ERROR: ORA-00900: invalid SQL statement
Error Code: 900
Query = END
我使用RazorSQL執行我的查詢,我似乎無法得到導致此錯誤的行號,但通過試驗和錯誤,我發現它是我的TYPE BODY
定義中的函數描述之一。
我都試過,最後END;
後加入/
,但它並不能幫助解決問題。