正如标题所说,是否可以从 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;
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;
根据定义,函数返回一个值,因此您必须有一个 RETURN 语句。查看Oracle 文档中函数的语法定义。RETURN 不是一个选项。
我什至不确定你为什么要这样做。