需要在自定义函数返回值的地方,增加关键字:DETERMINISTIC
原来的函数:
CREATE OR REPLACE FUNCTION MD5(passwd IN VARCHAR2)RETURN VARCHAR2 IS retval varchar2(32); BEGIN IF LENGTHB(passwd)>0 THEN retval := LOWER(utl_raw.cast_to_raw(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING => passwd))) ; RETURN retval; ELSE RETURN passwd; END IF; END;
修改后:
CREATE OR REPLACE FUNCTION MD5(passwd IN VARCHAR2)RETURN VARCHAR2 DETERMINISTIC IS retval varchar2(32); BEGIN IF LENGTHB(passwd)>0 THEN retval := LOWER(utl_raw.cast_to_raw(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING => passwd))) ; RETURN retval; ELSE RETURN passwd; END IF; END;
评论0
暂时没有评论