Estoy de acuerdo en utilizar cascade constraints, pero en caso que no las tengas puedes utilizar una subconsulta, por ejemplo
Código:
DELETE FROM factura
where factura.COD_FACT in (
select tipo_factura.COD_FACT
from tipo_factura)
and FACTURA.ID_FACT BETWEEN 300 AND 400;
Saludos