La clausola WITH è da utilizzare con un'istruzione SELECT.
Dai documenti: "Puoi specificare questa clausola in qualsiasi SELECT di livello superiore istruzione e nella maggior parte dei tipi di sottoquery." (enfasi mia).
Ecco una possibile soluzione se hai davvero bisogno di farlo, da ORAFAQ. L'articolo principale del blog è qui.