Prior 8.1 (starting from 7.1 fixpack 3) it was possible to use "upsert", "updel" and so on, for insert/update/delete in one UOW as compound statement.
Check the following article:
http://www-1.ibm.com/support/docview...id=swg21008451
Sample syntax :
BEGIN ATOMIC
FOR row AS
SELECT fact.pkf, stage.pks, stage.c1
FROM fact RIGHT OUTER JOIN stage
ON fact.pkf = stage.pks DO
IF row.pkf IS NULL THEN
INSERT INTO fact VALUES(row.pks, row.c1);
ELSE
UPDATE fact SET c1 = row.c1
WHERE fact.pkf = row.pkf;
END IF;
END FOR;
END