Oracle流水线表和Materialzed View

时间:2015-04-29 12:23:28

标签: oracle plsql

我在Oracle中定义了一个TYPE,我还有一个返回TYPE集合的函数。如下所示:

TYPE:

CREATE OR REPLACE TYPE mildap as object
(then my type definition here)

收集:

CREATE OR REPLACE TYPE mildaps AS TABLE of mildap;

功能:

FUNCTION F_TESTQUERY RETURN mildaps
(function work is here to populate mildaps)

当我执行SQL查询以返回mildap时,我得到的结果与预期一致。看起来像这样:

select * from table(F_TESTQUERY)

由于该功能正在进行的工作,它运行得很慢,所以我想要做的就是实现它......就像这样:

CREATE MATERIALIZED VIEW WEVLDAP_MV
REFRESH COMPLETE ON DEMAND
START WITH TO_DATE('29-04-2015', 'DD-MM-YYYY') NEXT TRUNC(SYSDATE +1) 
AS
select *
from table(F_TESTQUERY);

但我得到的是ORA-06502数字或值错误。

是否有可能以这种方式实现?......任何想法?

1 个答案:

答案 0 :(得分:0)

请试一试。

CREATE MATERIALIZED VIEW WEVLDAP_MV
REFRESH COMPLETE ON DEMAND
START WITH TO_DATE('29-04-2015', 'DD-MM-YYYY') NEXT TO_DATE(SYSDATE, 'DD-MM-YYYY')+1
AS
select *
from table(F_TESTQUERY);

问候。