我实现了一个data类型列的扩展索引其中索引对象类型定义:
CREATE OR REPLACE TYPE power_idxtype_im AS OBJECT
(
curnum NUMBER,
...//other funtion
STATIC FUNCTION ODCIIndexStart(sctx IN OUT power_idxtype_im,
ia sys.odciindexinfo,
op sys.odciPredInfo, qi sys.ODCIQueryInfo,
strt date, stop date,
cmppos NUMBER, cmpval NUMBER, env sys.ODCIEnv) RETURN NUMBER,
...
);
函数:
create or replace function test_Date_func
(object PowerDemand_Typ)
return date
as
begin
....
end;执行
SELECT P.Region, P.Sample.TotGridDemand, P.Sample.MaxCellDemand,
P.Sample.MinCellDemand
FROM PowerDemand_Tab P
WHERE Power_date(P.Sample) < to_date('2008-05-06 00:00:02','yyyy-mm-dd hh24:mi:ss');
报错:
ORA-29925: 无法执行POWERCARTUSER.POWER_IDXTYPE_IM.ODCIINDEXSTART
ORA-06553: PLS-306: 调用 'ODCIINDEXSTART' 时参数个数或类型错误执行
SELECT P.Region, P.Sample.TotGridDemand, P.Sample.MaxCellDemand,
P.Sample.MinCellDemand
FROM PowerDemand_Tab P
WHERE Power_date(P.Sample) = to_date('2008-05-06 00:00:02','yyyy-mm-dd hh24:mi:ss');
就没错有人用过oracle扩展索引extensible indexing吗?
ODCIIndexStart 中的strt,stop参数是number就不会出问题,但是date就是用不了
有人知道原因吗》?
CREATE OR REPLACE TYPE power_idxtype_im AS OBJECT
(
curnum NUMBER,
...//other funtion
STATIC FUNCTION ODCIIndexStart(sctx IN OUT power_idxtype_im,
ia sys.odciindexinfo,
op sys.odciPredInfo, qi sys.ODCIQueryInfo,
strt date, stop date,
cmppos NUMBER, cmpval NUMBER, env sys.ODCIEnv) RETURN NUMBER,
...
);
函数:
create or replace function test_Date_func
(object PowerDemand_Typ)
return date
as
begin
....
end;执行
SELECT P.Region, P.Sample.TotGridDemand, P.Sample.MaxCellDemand,
P.Sample.MinCellDemand
FROM PowerDemand_Tab P
WHERE Power_date(P.Sample) < to_date('2008-05-06 00:00:02','yyyy-mm-dd hh24:mi:ss');
报错:
ORA-29925: 无法执行POWERCARTUSER.POWER_IDXTYPE_IM.ODCIINDEXSTART
ORA-06553: PLS-306: 调用 'ODCIINDEXSTART' 时参数个数或类型错误执行
SELECT P.Region, P.Sample.TotGridDemand, P.Sample.MaxCellDemand,
P.Sample.MinCellDemand
FROM PowerDemand_Tab P
WHERE Power_date(P.Sample) = to_date('2008-05-06 00:00:02','yyyy-mm-dd hh24:mi:ss');
就没错有人用过oracle扩展索引extensible indexing吗?
ODCIIndexStart 中的strt,stop参数是number就不会出问题,但是date就是用不了
有人知道原因吗》?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货