怎样在函数里面使用临时表?
我做了一个返回collection的函数,函数的前半部分使用临时表对数据进行一些处理,后半部分从临时表里获取数据。但使用sql语句查询函数的结果时说select语句中不能包含dml操作。我根据网上的一些资料加了一个自治事务,运行的时候提示ORA-06519: 检测到活动的独立的事务处理, 已经回退。下面是函数的部分代码,大家看看有问题吗?在函数里使用临时表应该怎么写?先谢谢了!
create or replace function FRptstoresalesum
(
p_store IN VARCHAR2 DEFAULT NULL ,
p_style IN VARCHAR2 DEFAULT NULL ,
p_datebeg IN date DEFAULT NULL ,
p_dateend IN date DEFAULT NULL
)return storesalesum_tbl
--storesalesum_tbl是collection类型
is
PRAGMA AUTONOMOUS_TRANSACTION;
--其它声明...
begin
delete from tt_rptstoresum;
--对临时表的操作...
open c_sale;
--从临时表读取数据
return result;
end;