如题:从其他数据库得到了 创建function的代码。如下,执行完成后显示 function创建成功。
CREATE OR REPLACE FUNCTION "ZHCS"."FN_MD5_DEC" (PlainStr in varchar2) return varchar2 is
  Result  varchar2(400);
  key     varchar2(4000) := 'UEWQJUWOIE@!@SDKDSAODA@*(#)DF)(#EEOASD';
  strchar varchar2(4000) := '';
  tmpchar varchar2(4000) := '';
  side1   varchar2(4000) := '';
  side2   varchar2(4000) := '';
  l1      varchar2(4000) := '';
  r1      varchar2(4000) := '';
  keychar varchar2(4000) := '';
  newstr1 varchar2(4000) := plainstr;
  tmpstr  varchar2(4000) := '';
  ps      int := 1;
  i       int := 1;
  hn      int := 1;
  yhjg    int := 1;
  sjg     int := 1;
  c1      int := 1;
  c2      int := 1;
begin
if MOD(lengthb(newstr1), 2) = 0 then
    hn := lengthb(newstr1) / 2;
    l1 := substrb(newstr1, 1, hn);
    r1 := substrb(newstr1, hn + 1, hn);
    for c1 in reverse 1 .. hn loop
      side1 := side1 || substrb(l1, c1, 1);
    end loop;
    for c2 in reverse 1 .. hn loop
      side2 := side2 || substrb(r1, c2, 1);
    end loop;
    newstr1 := side1 || side2;
  end if;
  if lengthb(newstr1)!=0 then
    for i in 1 .. lengthb(newstr1) loop
      strchar := substrb(newstr1, i, 1);
      keychar := substrb(key, ps, 1);
      yhjg    := to_number(UTL_RAW.Bit_Xor(hextoraw(trim(to_char(ascii(strchar),
                                                                 'XXXXXXXX'))),
                                           hextoraw(trim(to_char(ascii(keychar),
                                                                 'XXXXXXXX')))),
                           'XXXXXX');      sjg     := ascii(strchar);
      tmpchar := chr(yhjg);
      if ((yhjg >= 32) and (yhjg <= 126)) and ((sjg >= 0) and (sjg <= 255)) then
        tmpstr := tmpstr || tmpchar;
      else
        tmpstr := tmpstr || strchar;
      end if;
      if ps = length(key) then
        ps := 0;
      end if;
      ps := ps + 1;
    end loop;
  end if;
  Result := tmpstr;
  return(Result);
end fn_md5_Dec;
/