【发布时间】:2017-08-02 05:58:16
【问题描述】:
我正在尝试在 oracle apex IR 查询中显示 3 个不同表中的最大日期,使用最大的函数来选择最大的。为此,创建了两个 varchar2 类型的函数。
其中一个返回所选表格的转换为字符的日期,如下所示:
create or replace FUNCTION RETURN_DATES (key in number, parameter in NUMBER)
RETURN VARCHAR2 IS
...
BEGIN
case parameter
when 1 then
select distinct MAX(mydate) into seal from table1 v WHERE v.num_contract = number_contract;
return NVL(TO_CHAR(TO_DATE (seal),'mm/dd/yyyy'),'01/01/1980')
when 2 then
select... from table2 x WHERE...
...
END;
第二个函数使用参数调用之间的最大函数调用那个函数,它指的是case语句:
create or replace FUNCTION RETURN_BIGGEST_DATE(key in number) return VARCHAR2 IS
...
BEGIN
select greatest (RETURN_DATES(key,1),RETURN_DATES(key,2),RETURN_DATES(key,3)) into greatest_date from dual;
return greatest_date;
...
END;
当我在 sql 命令上调用它时它工作正常,但在交互式报告中它失败了,返回 ORA-1843,使用完全相同的查询。
有人可以帮忙吗?
【问题讨论】:
标签: oracle plsql oracle-apex-5