为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:
【操作系统】:
【CPU】:
【问题描述】*:函数如何返回结果集
参考以下示例:
2.1)首先创建一个object类型,相当于函数返回的表结构
create or replace type type_arrayTable as object(Days timestamp(3));
2.2)然后创建一个表类型,引用上面的object类型type_arrayTable
create or replace type arrayTable_table is table of type_arrayTable;
2.3)最后创建一个返回表的函数
CREATE OR REPLACE FUNCTION f_GetDaysbyRange
(
p_StartDate timestamp(3),
p_EndDate timestamp(3)
)
RETURN arrayTable_table
AS
v_arrayTable arrayTable_table:=arrayTable_table();
begin
while (p_StartDate<=p_EndDate)
loop
v_arrayTable.extend(); --给v_arrayTable增加一行空数据
v_arrayTable(v_arrayTable.count):= type_arrayTable(p_StartDate);–赋值
p_StartDate:=interval ‘1’ day + p_StartDate; --p_StartDate增加1天
end loop;
RETURN v_arrayTable;
end;
2.4)调用函数
select * from table(f_GetDaysbyRange(SYSDATE,interval ‘10’ day + SYSDATE));
请详细描述您的问题,方便我们来为您解答