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 ;