2012-10-15 31 views
2

我想通過使用ibexpert gui在firebird 2.5上創建我的第一個程序。火鳥「列不屬於參考表」

該過程將返回屬於特定'PROCESS_ID'的'PROCESS_DATE'。我製備以下代碼:

begin 
    OUTPUT_DATE = (select PROCESS_DATE from PROCESSES 
       where PROCESS_ID = INPUT_ID); 
    suspend; 
end 

輸入參數: 'INPUT_ID' - >型 'INTEGER'
輸出參數: 'OUTPUT_DATE' - >型 'DATE'

但是,當我試圖編譯它返回這個錯誤:

Column does not belong to referenced table. 
Dynamic SQL Error. 
SQL error code = -206. 
Column unknown. 
INPUT_ID. 
At line 9, column 48. 

我不知道如何處理這個錯誤。

我試圖找到其他問題的解決方案也是互聯網,但我找不到初學者的基本,可以理解的答案。感謝您的幫助。

+1

不應該是:INPUT_ID – BugFinder

+0

是的!它是BugFinder。謝謝。 – bakseli

回答

3

試試這個:

CREATE PROCEDURE MyP (INPUT_ID INTEGER) 
    RETURNS (OUTPUT_DATE DATE) 
AS 
BEGIN 
    FOR 
    SELECT PROCESS_DATE FROM PROCESSES 
    WHERE PROCESS_ID = :INPUT_ID 
    INTO :OUTPUT_DATE 
    DO 
    SUSPEND; 
END 

與開頭必須參數名 「:」。唯一不允許使用「:」的地方位於「=」運算符的左側。

+0

感謝您的解釋性答案。 – bakseli