begin
for i in 1..10 loop
msdb_output.put_line(&info);
end loop;
end;这是在网上找到的代码  但输入一次后 后面的九次都是自动赋值  没有办法重新输入  

解决方案 »

  1.   

    set serveroutput ondeclare
       info varchar2(100);
    begin
          for i in 1..10 loop
              dbms_output.put_line('info_'||i||' = '||&info);
           end loop;
    end;
      

  2.   

    --按照你说的单独用绑定变量的方法来循环赋值 能不能我不太清楚
    --不知道下面的方法能不能满足你的需求
    已写入文件 afiedt.buf  1  DECLARE
      2  TYPE numlist IS VARRAY(20) OF varchar2(10);
      3  depts numlist := numlist('a', 'b','c');
      4  BEGIN
      5  FOR i IN depts.FIRST .. depts.LAST
      6  loop
      7  dbms_output.put_line('info_'||i||' = '||depts(i));
      8  end loop;
      9* END;
    SQL> /
    info_1 = a
    info_2 = b
    info_3 = cPL/SQL 过程已成功完成。