Oracle:可以从PL/SQL函数中返回任何内容吗?

JJ1*_*180 8 sql oracle

正如标题所说,是否可以从PL/SQL函数中返回任何内容?

我的功能如下,当我遗漏退货时我收到错误:

create or replace
FUNCTION DeleteAttributes
(code IN varchar2)
CURSOR c_attributes = SELECT ...

BEGIN
    FOR attribute_record IN c_attributes
    LOOP
        ...
    END LOOP;
END;
Run Code Online (Sandbox Code Playgroud)

Fru*_*ner 15

Oracle PL/SQL函数必须返回.如果你将子程序声明为一个程序,那么当它没有返回时它就不会给你错误(程序不能返回).

create or replace
PROCEDURE DeleteAttributes
(code IN varchar2)
CURSOR c_attributes = SELECT ...

BEGIN
    FOR attribute_record IN c_attributes
    LOOP
        ...
    END LOOP;
END;
Run Code Online (Sandbox Code Playgroud)

  • 程序可以有退货声明.您不能返回值,也不是必需的,但您可以在程序中使用RETURN. (11认同)
  • 谢谢,我不知道函数必须总是返回一个值.这有帮助 (3认同)
  • 它离开过程并返回给调用者. (2认同)