BEGIN ATOMIC
DECLARE SQLCODE INTEGER DEFAULT 0;
DECLARE CNT INT DEFAULT 1; DECLARE AUF CHAR(10); // für 1 Auftrag
DECLARE CUR CURSOR FOR SELECT DISTINCT AUFTRAG FROM Auftragsdatei; // Alle Aufträge


OPEN CUR;
FETCH CUR INTO AUF;

WHILE SQLCODE = 0 DO
SET CNT = 1;

WHILE CNT <= (SELECT MENGE FROM Auftragsdatei WHERE Auftrag = AUF) DO
INSERT INTO Ausgabedatei SELECT AUFTRAG, ARTIKEL, BEZ, 1 from Auftragsdatei
WHERE AUFTRAG = Auf;
SET CNT = CNT + 1;
END WHILE;

FETCH CUR INTO Auf; // Nachlesen
END WHILE;
END;

Wenn noch jemand wüsste wie man den Insert als result an den Client zurückschickt, wäre das natürlich optimal