Oracle資料庫批量刪除資料經驗
阿新 • • 發佈:2021-12-10
由於大批量刪除資料,必須考慮其刪除資料需要的資源最少,因此可按照如下的方式刪除。
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;
來源:http://www.cnblogs.com/blogyuan,歡迎轉載