存储过程中 有个表名(v_CheckTab)想用输入参数传进来, 但存储过程编不过去 说是表或视图不存在,这样做不行吗? 应该怎样做?
 
   CURSOR cur_data
   IS
      SELECT serialid, callingnumber, fullmoney
        FROM v_CheckTab;

解决方案 »

  1.   

    v_sql varchar2(2000);
    v_sql := 'SELECT serialid, callingnumber, fullmoney from '||v_CheckTab;open cur_data for v_sql;
    loop
    fetch
    end loop
    close
      

  2.   

    好像还有点问题 定义cur_data 怎么定义呀?  现在没有定义,还是编不过去
      

  3.   

    declare 
      type cur is ref cursor; --定义游标类型
      cur_data cur;  --定义游标变量
      va varchar2(10);
    begin  open cur_data for v_sql;
      loop
      fetch cur_data  into xx,xx,..;  exit when cur_data%notfound;
      end loop;
      close cur_data;
    end;