如题:从其他数据库得到了 创建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;
/
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;
/
解决方案 »
- 请问 Oracle存储过程执行中能生成一个交互式对话框吗?
- EA建模工具导出的SQL语句有问题
- dba_tab_partitions查询
- SQL菜鸟,求助存储过程和动态DDL的问题
- 数据库每天凌晨0点自动备份,到早上8点数据库夸了,那0点到8点的数据就恢复不了了吧?
- 关于ORACLE APACHE服务器的配置
- shared memory realm doesn't exist!!!!!!! ORACLE启动不了!!
- 学习ORALE需要什么的预备知识
- 那位可以推荐几款比较强大的oracle数据迁移工具?在线等待
- 急啊,高手帮忙?这个select 语句该怎么写?
- 字符串转数字
- 为什么我以一个普通帐户登陆了,但是在v$session中却查出2个?(我确认就我一个人在用)
select object_name,object_type from user_objects where object_type = 'FUNCTION';
看看能不能找到这个函数。