使用 Oracle,我尝试编写一个函数来演示如何返回SELECT ...
查询结果:
CREATE OR REPLACE FUNCTION f(v1 number) RETURN number IS
BEGIN
IF TRUE THEN
RETURN (select 42 from dual);
ELSE
RETURN v1;
END IF;
END;
但它不编译。
我怎样才能修复上面IF
的RETURN
返回42
,即结果select 42 from DUAL
?
将查询结果保存到一个变量中并返回该变量。例如:
确保您的查询始终只生成一行。否则,如果没有返回任何行或返回多于一行,您可能会收到错误消息。