Для завершения каждого оператора SQL следует использовать точку с запятой. Это определено в стандартах SQL,
Конечно, чаще всего SQL Server позволяет вам опустить терминатор оператора, но зачем приобретать дурные привычки?
Как указывали другие, оператор, предшествующий общему табличному выражению (CTE), должен заканчиваться точкой с запятой. Как следствие, от людей, которые не полностью приняли терминатор с запятой, мы видим следующее:
;WITH ...
что, на мой взгляд, выглядит очень странно. Я полагаю, что это имеет смысл в онлайн-форуме, когда вы не можете сказать качество кода, в который он будет вставлен.
Кроме того, MERGE
оператор должен заканчиваться точкой с запятой. Вы видите здесь закономерность? Это несколько новых дополнений к TSQL, которые полностью соответствуют стандартам SQL. Похоже, что команда SQL Server намерена ввести обязательное использование терминатора с запятой.