给个参考:
create or replace function f1(p_table_name varchar2,
                             p_field_name varchar2
                            )
 return number
is
 acc_bal number;
 sql_string varchar2(1000);
begin
 sql_string := 'select count('||p_field_name||') from '||p_table_name; 
 execute immediate sql_string into acc_bal;
 return (acc_bal);
end f1;
来不及写,引用其它兄弟的。

解决方案 »

  1.   

    把表当作参数只需要传字符串就行了
    然后:
     select ... from '|v_tableName||;
      

  2.   

    select ... from '||v_tableName||;
      

  3.   

    是的,帮助里边有例子:
    create or replace function insert_test(p_table_name varchar2,
                                 p_view_name varchar2,
                                 n munber
                                )
     return number
    is
     sql_string varchar2(500);
     sql_string1 varchar2(500);
    begin
     sql_string := 'insert into '||p_table_name||' values((:1) '; 
     execute immediate sql_string using n;
     sql_string1 := 'insert into '||p_view_name||' values((:1) '; 
     execute immediate sql_string1 using n;
     return 0;
    end insert_test;
      

  4.   

    sorry:
     sql_string := 'insert into '||p_table_name||' values((:1) '; 
    sql_string1 := 'insert into '||p_view_name||' values((:1) '; 
    改为
     sql_string := 'insert into '||p_table_name||' values(:1) '; 
    sql_string1 := 'insert into '||p_view_name||' values(:1) ';