declare bad_type1   varchar2(100);
symptom_code1 varchar2(100);
begin
  
  select bad_type,symptom_code into bad_type1,symptom_code1  from  sol_fallout sf;
   
  DBMS_OUTPUT.PUT_LINE('bad_type1');
  DBMS_OUTPUT.PUT_LINE('symptom_code1');
end;
请问一下,我这个查询出来 是多条记录 ,我要怎么才能把这些记录遍历 出来在存储过程里面 谢谢

解决方案 »

  1.   

    用个cursor就可以了。declare  bad_type1   varchar2(100); 
    symptom_code1 varchar2(100); 
      cursor c1 is
            select bad_type,symptom_code into bad_type1,symptom_code1  from  sol_fallout sf; 
    begin 
      for rec in c1 loop 
        
          DBMS_OUTPUT.PUT_LINE( 'rec.bad_type1 '); 
          DBMS_OUTPUT.PUT_LINE( 'rec.symptom_code1 ');
      end loop; 
    end; 
      

  2.   

    用个cursor就可以了。 declare   bad_type1   varchar2(100);  
    symptom_code1 varchar2(100);  
      cursor c1 is 
            select bad_type,symptom_code into bad_type1,symptom_code1  from  sol_fallout sf;  
    begin  
      for rec in c1 loop  
         
          DBMS_OUTPUT.PUT_LINE(  'rec.bad_type1  ');  
          DBMS_OUTPUT.PUT_LINE(  'rec.symptom_code1  '); 
      end loop;  
    end;  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    rec都不定义一下吗?
      

  3.   

    在FOR循环语句里面隐含定义了一个记录型变量,所以不需要定义