apex pl / sql if value1 yes和value2不为null然后为true

时间:2017-03-07 19:17:20

标签: sql plsql oracle-apex

BEGIN
:P2_RESTUSER ='Y'; 
IF:P2_USERCOMMENT IS NOT NULL
THEN
 Return True;
ELSE
 Return False;

end if;
end;

我正在尝试在页面中添加验证。我想要做的是,如果p2_restuser值为'y'且p2_usercomment不为null,则返回true,并且任何其他条件都返回错误提示。但是,我收到了以下错误。

  

ORA-06550:第6行,第16列:PLS-00103:遇到符号   期待以下之一时“开始”:( - + case mod new not   null continue avg count current存在最大值之前sql stddev   sum variance执行forall merge time timestamp interval date pipe

如何修复此代码以我想要的方式工作?

谢谢

2 个答案:

答案 0 :(得分:0)

好的,正如我理解你的方式 - 你让简单的事情变得复杂。 根据您提供的数据(不是问题的详细信息,但只是结果的概念),最简单的方法是创建2个验证

  • 验证P2_RESTUSER作为与'Y'的字符串比较
  • 将P2_USERCOMMENT验证为空比较

    此方法不需要PL / SQL。 正如其他人已经说过的那样 - 如果你坚持使用PL / SQL - 提供更多信息。

答案 1 :(得分:0)

我同意Jareeq,采用声明式方法而不是PLSQL块。它更简单,性能更好。

我不确定它是否有帮助,但这里有一个截图,说明你将如何去做。

enter image description here

以下链接是对各种验证类型的详细阅读,

http://tonyandrews.blogspot.com/2013/04/apex-conditions-and-performance.html

此外,还有涉及统计的相关文章。

http://roelhartman.blogspot.com/2013/05/apex-conditions-and-performance.html