加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle – PL / SQL如何在不获取返回对象的情况下调用函数

发布时间:2020-12-12 16:26:04 所属栏目:百科 来源:网络整理
导读:我在PL / SQL中有一个函数: FUNCTION do_something RETURN BOOLEANIS ...BEGIN ...END 这个函数可以这样调用: DECLARE answer BOOLEAN;BEGIN answer := do_something();END 现在,有些情况下,我不需要返回的布尔值.如果我不想得到它,只需写: do_something(
我在PL / SQL中有一个函数:
FUNCTION do_something
  RETURN BOOLEAN
IS
  ...
BEGIN
  ...
END

这个函数可以这样调用:

DECLARE
  answer BOOLEAN;
BEGIN
  answer := do_something();
END

现在,有些情况下,我不需要返回的布尔值.如果我不想得到它,只需写:

do_something();

我得到PLS-00306(调用DO_SOMETHING时参数类型错误)
有没有办法在不声明和设置新布尔值的情况下调用它,在这种情况下我永远不会使用它?

非常简单:创建一个涵盖此功能的过程
PROCEDURE do_something
IS
  dummy boolean;
BEGIN
  dummy := do_something();
END;

抱歉,这是PL / SQL的唯一方法.这种语言在过程和函数的定义上非常严格,如果不处理结果,就不能进行函数调用.但是你可以制作一个程序,如上例所示.

它将自动定义选择功能的位置和程序.

编辑

至于有些人不信任我(有时候我真的告诉??坏事,所以怀疑是允许的:))这是测试:

declare
  myresult boolean;

  function do_something return boolean
    is
  begin
    return true;
  end;

  procedure do_something
    is
      dummy boolean;
  begin
    dummy := do_something();
  end;
begin
  myresult := do_something();

  do_something();
end;

效果很好.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读