我在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数字或值错误。
是否有可能以这种方式实现?......任何想法?
答案 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);
问候。