gpt4 book ai didi

oracle - PL/SQL 如何调用函数而不获取返回对象

转载 作者:行者123 更新时间:2023-12-02 08:54:03 26 4
gpt4 key购买 nike

我在 PL/SQL 中有一个函数:

FUNCTION do_something
RETURN BOOLEAN
IS
...
BEGIN
...
END

这个函数可以这样调用:

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

现在,在某些情况下,我不需要返回的 bool 值。如果我不想得到它,就写:

do_something();

我收到 PLS-00306(调用 DO_SOMETHING 时参数类型的数量错误)有没有一种方法可以在不声明和设置新 bool 值的情况下调用它,在这种情况下我永远不会使用它?

最佳答案

非常简单:创建一个涵盖此功能的过程

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;

效果很好。

关于oracle - PL/SQL 如何调用函数而不获取返回对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21677236/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com