当前位置: 代码迷 >> Oracle管理 >> Oracle 存储过程,该怎么解决
  详细解决方案

Oracle 存储过程,该怎么解决

热度:80   发布时间:2016-04-24 05:26:09.0
Oracle 存储过程
存储过程:
declare cursor cu_student(minAge in number,maxAge in number) is
select * from students
where student_age>=minAge and student_age<=maxAge;
student students%rowtype;

begin
open cu_student(19,20);
fetch cu_student into student;

while cu_student%found loop
dbms_output.put_line(student.student_name||':'||
student.student_age||'岁');
fetch cu_student into student;
end loop;

close cu_student;
end;

请问如下语句在如上存储过程中是什么意义?由其是while cu_student%found loop这句是什么意思?

-while cu_student%found loop
-dbms_output.put_line(student.student_name||':'||
-student.student_age||'岁');
-fetch cu_student into student;
-end loop;




------解决方案--------------------
代码迷推荐解决方案:oracle存储过程,http://www.daimami.com/search?q=177537
------解决方案--------------------
%FOUND %NOTFOUND 判断游标所在的行是否有效,如果有效,则%FOUNDD等于true,否则等于false


------解决方案--------------------
SQL code
declare  --定义一个参数游标,参数为minAge,maxAge  cursor cu_student(minAge in number, maxAge in number) is    select *      from students     where student_age >= minAge       and student_age <= maxAge;   --定义一个students类型的变量  student students%rowtype;begin  open cu_student(19, 20);   --打开游标,用19,20作参数  fetch cu_student   --取出一条记录到student变量中    into student;  while cu_student%found loop   --当发现有取出记录时,循环游标,没有取得记录时就会退出    dbms_output.put_line(student.student_name || ':' ||    --打印当前取出的这记录信息                         student.student_age || '岁');    fetch cu_student   --从游标中取出一条记录到student变量中      into student;  end loop;  close cu_student;   --游标需要关闭end;
  相关解决方案