2016-07-06 60 views
-3

我正在使用Oracle Reports,但問題是一個plsql問題。我接受一個參數,如果參數等於某個值,我想在它傳遞到我的函數之前將其轉換爲null。這是我的代碼,但是我收到錯誤期待以下某種操作時遇到符號「END」

當期待以下某種情況時遇到符號「END」::=。 (%;符號「;」被替換爲「END」繼續「

function BeforeReport return boolean is 
begin 

    IF :MY_VAR = 'SOME_VALUE' THEN :MY_VAR := null END IF; 

    my_fun(
    :MY_VAR 
    ); 
    return (TRUE); 
end; 

IF語句看起來是正確的,以我爲IF條件THEN運算END IF;正確關閉該功能似乎如果我註釋掉IF語句,它會編譯並且工作正常。問題是什麼?

回答

3

你是被關閉的,返回有一個逗號結束它,並且以逗號結束所有事情。缺少;null

function BeforeReport return boolean is 
begin 

    IF :MY_VAR = 'SOME_VALUE' THEN :MY_VAR := null; END IF; 

    my_fun(
    :MY_VAR 
    ); 
    return (TRUE); 
end; 
+0

唉,這是令人尷尬的....謝謝! – user2924127

相關問題