Только , если предыдущий оператор не заканчивается ;
Я не лично, потому что я использую ;
в конце своих заявлений.
Когда я отвечаю здесь на SO, я делаю для ясности.
Само «WITH» может использоваться во многих местах, поэтому ;
необходим для того, чтобы синтаксический анализатор мог правильно определить контекст WITH (ссылка CTE)
Придуманный пример: где разделитель операторов?
ALTER DATABASE foo SET OFFLINE WITH ROLLBACK IMMEDIATE SELECT * FROM bar
ALTER DATABASE foo SET OFFLINE WITH MYCTE AS (SELECT * FROM bar) SELECT * FROM MYCTE
То же самое относится к СБОРКА КАПЛИ или ВЫПОЛНИТЬ или ПЕРЕКОНФИГ.