create or replace procedure test(table_name in varchar2)
as
  type mycursor is ref cursor;
  cursor_tbname mycursor;
  sqlstr varchar2(500);
begin
  sqlstr := 'select * from '||table_name;
  open cursor_tbname for sqlstr;
  close cursor_tbname;
end;
/

解决方案 »

  1.   

    还有,如果我想,,这样写,该如何处理呢?
    proc_select_tablename(tablename varchar2)
    asbegin
      insert into tablename values('a','b');
    end;谢谢!@
      

  2.   

    SQL> create or replace procedure test(tablename in varchar2)
      2  as
      3    sqlstr varchar2(500);
      4  begin
      5    sqlstr := 'insert into '||tablename||' values(''a'',''b'')';
      6    execute immediate sqlstr;
      7  end;
      8  /过程已创建。SQL> exec test('aa')PL/SQL 过程已成功完成。SQL> select * from aa;COL COL
    --- ---
    a   b
      

  3.   

    哦 .ATGC,,太感谢你了.
    实在佩服..能交个朋友吗..我的QQ是,,14825283