相当于游标的使用,这里的i不用定义如下:
for i in (select id from table where name='张伟') loop
dbms_output.putline(I.id);
end loop;

解决方案 »

  1.   

    楼上正解   for i in (select id from table where name='张伟') 是指在对所有在该SQL语句的i值进行循环操作
      

  2.   


    -- 两种用法
    -- 1 , 就是你现在用的这种
    for i in () 
    -- 这里的  i 就是一个记录-- 2,步长行
     for i in 1..100 
    loop ; 
    -- to do 
    end loop 
    -- to do 执行 100 次
      

  3.   

    CURSOR C_INFO IS 
    select id from table where name='张伟';
    V_INFO   C_INFO;
    那个I就相当于V_INFO这个变量
      

  4.   

    这里相当于一个游标,当i满足后面括号里面查询结果则执行下面的循环(loop)。select是在需要具体满足某些特定条件时候使用
      

  5.   

     for i in (select id from table where name='张伟')
    loop
     ...
    end loop;
    其实这就是饮式游标的方法,oracle自动管理游标的开关数据取出等,但是推荐还是使用显式游标手动控制,减小oracle消耗。
      

  6.   

    隐式游标,仅能在PL/SQL,存储过程或者自定义函数使用。
    常规的SQL是不能使用的。