相关疑难解决方法(0)

评估Oracle Forms中的PL/SQL布尔变量

假设我BOOLEAN在Oracle表单中的PL/SQL块中有一个变量:

DECLARE
  is_viewable BOOLEAN;
BEGIN
  is_viewable := ...;

  IF NOT is_viewable THEN
    raise_my_error(); // pseudo-code
  END IF;
END;
Run Code Online (Sandbox Code Playgroud)

在使用调试器多次单步执行此代码后,我确定raise_my_error() 永远不会被调用.澄清:

  • raise_my_error()如果没有被调用is_viewable = TRUE
  • raise_my_error()如果没有被调用is_viewable = FALSE

初步测试表明,此行为仅限于在Oracle Forms中运行的PL/SQL代码,而不是直接在数据库中运行的PL/SQL代码(尽管我可能错了).

我可以通过明确地比较is_viewable来解决这个问题FALSE:

IF is_viewable = FALSE THEN
  raise_my_error();
END IF;
Run Code Online (Sandbox Code Playgroud)

我仍然很好奇为什么NOT is_viewable永远不会评估TRUE.

更新:我的调试器似乎没有显示正确的值,并且此问题不再有效.抱歉这个混乱.

oracle plsql boolean oracleforms

12
推荐指数
3
解决办法
9万
查看次数

标签 统计

boolean ×1

oracle ×1

oracleforms ×1

plsql ×1