| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
lhq9808
12年前发布

Oracle数据库批量删除数据经验

由于大批量删除数据,必须考虑其删除数据需要的资源最少,因此可按照如下的方式删除。

DECLARE
    ln_count  NUMBER(10);
    ln_rownum NUMBER(10);
BEGIN
    LOOP
        FOR cur IN (SELECT t.rowid
                    FROM   os_mail_fs_send_detail t
                    WHERE  mail_title = '邮箱攻略'
                    AND    provcode = 16
                    AND    rownum <= 10000) LOOP
            ln_count := ln_count + 1;
            DELETE os_mail_fs_send_detail WHERE ROWID = cur.rowid;
            IF ln_count > 10000 THEN
                ln_count := 1;
                COMMIT;
            END IF;
        END LOOP;
   
        SELECT COUNT(1)
        INTO   ln_rownum
        FROM   os_mail_fs_send_detail t
        WHERE  mail_title = '邮箱攻略'
        AND    provcode = 16
        AND    rownum <= 1;
   
        IF ln_rownum <= 0 THEN
            EXIT;
        END IF;
    END LOOP;
END;

 本文由用户 lhq9808 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1337124237650.html
大批量删除数据 Oracle 数据库服务器