在期待以下之一时遇到符号“END”

时间:2016-07-06 18:11:04

标签: oracle plsql oracle11g

我正在使用Oracle Reports,但问题是plsql问题。我接受一个参数,如果参数等于某个值,我想在传递给我的函数之前将其转换为null。这是我的代码,但我收到了错误

  

在遇到以下其中一项时遇到符号“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语句,它会编译并正常工作。有什么问题?

1 个答案:

答案 0 :(得分: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;