Det 'riktiga' sättet att göra detta är att sätta upp ordentliga relationer mellan tabellerna och sedan utnyttja cascaded delete, då behöver du bara ta bort de orderrader du önskar, så försvinner även de relaterade produkterna. Om du inte har möjlighet att ändra databasschemat så behöver du ändå inte använda nån stored procedure med en loop, följande räcker:
BEGIN;
DELETE FROM tblProduktorder WHERE orderID IN (SELECT orderID FROM tblOrder WHERE orderLevererad);
DELETE FROM tblOrder WHERE orderLevererad;
COMMIT;
(Detta förutsätter att kolumnen 'orderLevererad' är, eller kan konverteras till BOOL.)