oracel编写存储函数

DECLARE

   vn_commit_count   NUMBER (4);

   vn_count          NUMBER (4);

   CURSOR cur_get_id

   IS

     SELECT id  from table

BEGIN

   vn_count := 0;

   vn_commit_count := 5000;

   FOR c_get_id IN cur_get_id

   LOOP

      BEGIN

         UPDATE  table set column = ''

         where XX=c_get_id.id;

         

          

        vn_count := vn_count + 1;

         IF vn_count = vn_commit_count

         THEN

            COMMIT;

            vn_count := 0;

         END IF;

      EXCEPTION

         --如果循环内的错误可以忽略,则捕获异常;如果不允许忽略错误,则不需要捕获异常

         WHEN OTHERS

         THEN

            NULL;

      END;

   END LOOP;

   COMMIT;

END;

猜你喜欢

转载自tiramisu110.iteye.com/blog/2317105