更新大表

上一篇 / 下一篇  2004-11-11 00:00:00 / 个人分类:Oracle

大的表更新经常会碰到回滚段不够的情况,这时,可以用一段pl/sql去更新它。


 DECLARE
      CURSOR c_temp IS
        SELECT  rowid
        FROM   eetcol_access_log;
        i  c_temp%ROWTYPE;
        j number(10);
    BEGIN
      j:= 1;
      FOR  i IN c_temp
      LOOP
       update eetcol_access_log set page_name=trim(page_name) where rowid=i.rowid;
       if (j mod 100 = 0) then
         commit;
        dbms_output.put_line(j);
         j :=j+1;
      else
        j :=j+1;
       end if;
     END LOOP;
dbms_output.put_line('okay');
 END;

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-07-25  
  12345
6789101112
13141516171819
20212223242526
2728293031  

我的存档

数据统计

  • 访问量: 795
  • 日志数: 431
  • 建立时间: 2008-01-08
  • 更新时间: 2008-01-08

RSS订阅

Open Toolbar