期待以下某种操作时遇到符号“END”

期待以下某种操作时遇到符号“END”

问题描述:

我正在使用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语句,它会编译并且工作正常。问题是什么?

你是被关闭的,返回有一个逗号结束它,并且以逗号结束所有事情。缺少;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