try again:create or replace function FN_NAME_REPLACE(in_name varchar2)
return varchar2 is
v_name varchar2(2000);
cursor cur_name is select code,name from info_public where table_name = 'Name_Standard';
BEGIN
-- v_name_out:=replace(in_name,'','');
for c1 in cur_name
loop
v_name:=replace(in_name,c1.code,c1.name);
end loop;
return v_name;
END;
end FN_NAME_REPLACE;
return varchar2 is
v_name varchar2(2000);
cursor cur_name is select code,name from info_public where table_name = 'Name_Standard';
BEGIN
-- v_name_out:=replace(in_name,'','');
for c1 in cur_name
loop
v_name:=replace(in_name,c1.code,c1.name);
end loop;
return v_name;
END;
end FN_NAME_REPLACE;
我的info_public表结构如下:
code name
建行 中国人民建设银行
中行 中国人民银行我想写个函数,用name替代成code,但是
select fn_name_replace('中行') from dual;
得出“中行”HELP
return varchar2 is
begin
declare
v_name varchar2(2000);
cursor cur_name is select code,name from info_public where table_name = 'Name_Standard';
BEGIN
v_name:=in_name;
for c1 in cur_name
loop
v_name:=replace(v_name,c1.code,c1.name);
end loop;
return v_name;
END;
end FN_NAME_REPLACE;
终于弄好了,
谢谢 dinya2003(OK)