2017-03-05 67 views
0

我正在使用Oracle 10g快速版。Oracle:程序包包含函數時出現編譯錯誤時創建的程序包

這裏是我包創建代碼:

CREATE OR REPLACE PACKAGE ticketBooking 
    AS 
     FUNCTION maxOrderID() RETURN NUMBER; 
     FUNCTION maxTransactionID() RETURN NUMBER; 
     PROCEDURE bookOrder(id IN NUMBER, key IN VARCHAR2, fname IN VARCHAR2, lname IN VARCHAR2, age IN NUMBER, address IN VARCHAR2, adate IN VARCHAR2, status OUT NUMBER); 
     PROCEDURE bookTicket(id IN NUMBER, orderID IN NUMBER, mID IN NUMBER, mRow IN NUMBER, mSeat IN NUMBER, mDate IN VARCHAR2, mTime IN NUMBER); 
    END ticketBooking; 
/

這給予警告信息: - 與編譯錯誤創建

包。

當我刪除這兩個函數,然後我沒有得到錯誤。我究竟做錯了什麼?

是否因爲在這兩個函數中沒有傳遞參數?我不需要發送任何參數。我該怎麼辦?

+0

或查詢'user_errors'視圖中,可以看到實際的編譯錯誤是什麼。 –

回答

2

不要在零參數函數中使用括號。

試試這個:如果你`顯示errors`

create or replace PACKAGE ticketBooking 
    AS 
     FUNCTION maxOrderID RETURN NUMBER; 
     FUNCTION maxTransactionID RETURN NUMBER; 
     PROCEDURE bookOrder(id IN NUMBER, key IN VARCHAR2, fname IN VARCHAR2, lname IN VARCHAR2, age IN NUMBER, address IN VARCHAR2, adate IN VARCHAR2, status OUT NUMBER); 
     PROCEDURE bookTicket(id IN NUMBER, orderID IN NUMBER, mID IN NUMBER, mRow IN NUMBER, mSeat IN NUMBER, mDate IN VARCHAR2, mTime IN NUMBER); 
    END ticketBooking; 
/
+0

該死!不知道。謝謝先生。 :) – Saswat

相關問題