0

我有一组 pl/sql 函数,都返回一个布尔类型。
我从另一个 pl/sql 函数中一一调用这些函数。我想“累积”结果并从该函数返回。

例如:

  v_res  boolean;
  v_res2 boolean := true;
begin
  v_res := f1('aa');
  if v_res = false then
    v_res2 := false;
  end if;

  v_res := f2('aa');
  if v_res = false then
    v_res2 := false;
  end if;

  -- some other calls to other functions

  return v_res2;
end;

我想知道,我可以在 pl/sql 中进行布尔运算吗?
我的意思是这样的:

  v_res boolean := true;
begin
  v_res := v_res * f1('aa');
  v_res := v_res * f2('aa');
  -- more calls to functions
  return v_res;
end;

我试过了:

v_res := v_res * false;

v_res := v_res and false;

但似乎唯一可行的是将布尔值转换为 int(我尝试使用 sys.diutil.bool_to_int),这感觉不对...

4

1 回答 1

3
begin
  return f1('aa')
     and f2('aa')
     ... etc. ...
     ;
end;
于 2012-05-29T01:05:47.430 回答