DECLARE
nCount NUMBER;
sql1 VARCHAR2(2000);
BEGIN
nCount := 0;
sql1 := 'delete from WLI_QS_REPORT_DATA where rownum < 10000';
LOOP
EXECUTE IMMEDIATE sql1;
nCount := sql%rowcount;
DBMS_OUTPUT.PUT_LINE('deleted records: ' || to_char(ncount) );
commit;
EXIT WHEN nCount = 0;
END LOOP;
end;
/
Friday, November 23, 2012
Oracle DB: deleting a HUGE table a chunk at a time in a loop
This is just an example, of course TRUNC will be much faster... but if you need to select specific records, you have no choice.....
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment