现在想通过一个存储过程,传入一个表名,返回表的一行....由于表调用前不确定,怎么设计返回的一行的参数呢?

解决方案 »

  1.   

    以下是一个函数返回一个结果结果集的例子,可以供你参考:
    create or replace function sql_test (sql_str varchar2) return SYS_REFCURSOR is  
      po_return sys_refcursor;  
    begin  
      open po_return for sql_str;  
      return(po_return);  
    end ; --调用函数declare  
      cur1 SYS_REFCURSOR;  
     v_dual varchar2(100);  
     i number;  
     begin  
       v_dual:='select 1 id from dual union all select 2 from dual';  
       cur1:=sql_test(v_dual);  
     loop  
       fetch cur1 into i;  
       exit when cur1%notfound;  
     dbms_output.put_line('----------------i :'||i);  
     end loop;  
     close cur1;  
     end;
      

  2.   

    LZ 研究一下 TYPE 的使用。