现在的位置: 首页 > 综合 > 正文

使用自己的函数来建立函数索引

2013年10月24日 ⁄ 综合 ⁄ 共 543字 ⁄ 字号 评论关闭

CREATE OR REPLACE FUNCTION IS_NUMERIC( NUM VARCHAR2)

return NUMBER IS

V_VAR NUMBER ;

--判断 是否为数字 不是则返回-1 是返回他的 TO_NUMBER 格式

BEGIN

RETURN TO_NUMBER(NUM) ; 

EXCEPTION 

WHEN OTHERS THEN

       RETURN 0 ;

END ;

/

CREATE INDEXIX_DOCUMENT_FOLDERNO ON DOCUMENT (IS_NUMERIC(FOLDERNO)) TABLESPACE DOCDB ;
ORA-30553:   函数不能确定   

 

加上 DETERMINISTI 参数后

 

CREATE OR REPLACE FUNCTION STDOC.IS_NUMERIC( NUM VARCHAR2)

RETURN INTEGER DETERMINISTIC IS

V_VAR INTEGER ;

BEGIN

RETURN TO_NUMBER(NUM) ; 

EXCEPTION 

WHEN OTHERS THEN

       RETURN 0 ;

END ;

/

CREATE INDEXIX_DOCUMENT_FOLDERNO ON DOCUMENT (IS_NUMERIC(FOLDERNO)) TABLESPACE DOCDB ;
index created ;

抱歉!评论已关闭.