In that case you can write a loop around a cursor fetch, with a COMMIT every 100 rows, something like:
Code:
DECLARE c CURSOR FOR
SELECT 1 FROM my_table WHERE [*condition*] FOR UPDATE ;
OPEN c
and then in a loop:
Code:
FETCH c;
DELETE FROM my_table WHERE CURRENT OF c
and issue a COMMIT every 100th iteration.
Alternatively, in DB2 version 8 and beyond, you may use multi-row fetch and positioned delete, with a commit after every delete:
Code:
FETCH NEXT ROWSET FROM c FOR 100 ROWS ;
DELETE FROM my_table WHERE CURRENT OF c ;
COMMIT WORK