Oracle中用For循环有效提高Update效率

对工作、学习中的一些问题和方法做个记录和总结,以自省。

表:

create table student(SNo varchar2(14) primary key,
Grade varchar2(16),
Class varchar2(16),
Name varchar2(64),
Sex varchar2(8),
Age number(3));

原始Update语句:

update student set grade='五年级' where age>10;

=======================割==========================

用For循环改写Update语句:

begin
for subStudent in (select SNo from student where age>10)
loop
update student set grade='五年级' where SNo=subStudent.SNo;
end loop;
end;

对于数据量较大的表,用For循环进行修改可以十分有效地提高效率。缺点是不会返回修改行数。

 

posted @ 2013-01-28 12:59  流水带走了青春  阅读(1308)  评论(0编辑  收藏  举报