toujours utiliser avec une instruction comme ;WITH
alors vous n'obtiendrez jamais cette erreur. La commande WITH nécessitait un ;
entre celle-ci et toute commande précédente, en utilisant toujours ;WITH
vous n'aurez jamais à vous rappeler de le faire.
voir WITH common_table_expression (Transact-SQL), de la section Directives pour la création et l'utilisation d'expressions de table communes :
Lorsqu'un CTE est utilisé dans une instruction faisant partie d'un lot, l'instruction qui la précède doit être suivie d'un point-virgule.