英文状态,没有把错误贴好,再贴:
SQL> exec wqproc
BEGIN wqproc; END;*
ERROR 位于第 1 行:
ORA-06502: PL/SQL: 数字或值错误 :  字符串缓冲区太小
ORA-06512: 在"REPORT.WQPROC", line 15
ORA-06512: 在line 1
我在toad里面单独执行是没有问题啊?
sqlplus提示的  字符串缓冲区太小,如何设置啊? 没有找到哪里设置

解决方案 »

  1.   

    wqproc is simple:
    CREATE OR REPLACE PROCEDURE "WQPROC"    
    as 
       v_name varchar2(20);
       v_address varchar2(100);
      
      --Cursor decaration.
      CURSOR c_Students IS
        select name,address 
        from test;
        
    begin
      open c_Students;
      
      loop
        fetch c_Students into v_name, v_address;
        exit when c_Students%NOTFOUND;
      end loop;
      
      insert into test1(COL1,COL2)
      values(v_name,v_address);
      
      --commit;
      
      close c_Students;
      
    end;
    /
      

  2.   

    估计v_name varchar2(20);
       v_address varchar2(100);
    这两个变量长度是否不够宽度
      

  3.   

    斑竹说的对,我插入了一个很长的字符串到name里面,所以