create or replace function get_tablecolumn_except(e_column in varchar2) return varchar2 as 
r_column varchar2(200)
begin 
      select column_name into r_column from user_tab_columns where table_name=upper('student') and column_name=e_column; 
      return r_column;
       exception  
   when no_data_found then  
     raise_application_error(-20001, '你输入的ID无效!'); 
      end get_tablecolumn_except;
执行语句select get_tablecolumn_except('SNO') from dual

解决方案 »

  1.   

    create or replace function get_tablecolumn_except(e_column in varchar2) return varchar2 as  
    r_column varchar2(200) default 'SNO';-- 给个默认值看看
    begin  
      select column_name into r_column from user_tab_columns where table_name=upper('student') and column_name=e_column;  
      return r_column;
      exception   
      when no_data_found then   
      raise_application_error(-20001, '你输入的ID无效!');  
      end get_tablecolumn_except;
      

  2.   

    create or replace function get_tablecolumn_except(e_column in varchar2) return varchar2 as  
    r_column varchar2(200);
    begin  
      select column_name into r_column from user_tab_columns where table_name=upper('student') and column_name=upper(e_column);  
      return r_column;
      exception   
      when no_data_found then   
      raise_application_error(-20001, '你输入的ID无效!');  
      end get_tablecolumn_except;
      

  3.   

    create or replace function get_tablecolumn_except(e_column in varchar2) return varchar2 as  
    r_column varchar2(200);--语句结束要加分号
    begin  
      select column_name into r_column from user_tab_columns where table_name=upper('student') and column_name=e_column;  
      return r_column;
      exception   
      when no_data_found then   
      raise_application_error(-20001, '你输入的ID无效!');  
      end get_tablecolumn_except;
      

  4.   

    SQL> create or replace function get_tablecolumn_except(e_column in varchar2) return varchar2 as
      2  r_column varchar2(200);
      3  begin
      4    select column_name into r_column from user_tab_columns where table_name=upper('emp') and column_name=e_column;
      5    return r_column;
      6    exception
      7    when no_data_found then
      8    raise_application_error(-20001, '你输入的ID无效!');
      9    end get_tablecolumn_except;
     10  /
     
    Function created
     
    SQL> select get_tablecolumn_except('EMPNO') from dual;
     
    GET_TABLECOLUMN_EXCEPT('EMPNO'
    --------------------------------------------------------------------------------
    EMPNO
     
    SQL>