create or replace function FN_NAME_REPLACE(in_name varchar2)
  return varchar2 is
declare
  v_name varchar2(2000);
begin
  BEGIN
    v_name:=in_name;
    select name into v_name
      from info_public
     where table_name = 'Name_Standard' and code = in_name;     exception 
     when NO_DATA_FOUND then
       v_name:=in_name;
     return v_name;
     when others then
       return null;
  END;
end FN_NAME_REPLACE;

解决方案 »

  1.   

    try:create or replace function FN_NAME_REPLACE(in_name varchar2)
      return varchar2 is
      v_name varchar2(2000);
      
      BEGIN
        v_name:=in_name;
        select name into v_name
          from info_public
         where table_name = 'Name_Standard' and code = in_name;
        return v_name;
         exception 
         when NO_DATA_FOUND then
           v_name:=in_name;
         return v_name;
      END;
    end FN_NAME_REPLACE;
      

  2.   

    create or replace function FN_NAME_REPLACE(in_name varchar2) return varchar2 is
        v_name varchar2(2000);
    begin
        select name into v_name from info_public where table_name='Name_Standard' and code=in_name;
        return v_name;
        exception 
            when NO_DATA_FOUND then
                v_name:=in_name;
            when others then 
                v_name='未知错误';        
            return v_name;
     end FN_NAME_REPLACE;