- Um Zweideutigkeiten zu vermeiden, da WITH an anderer Stelle verwendet werden kann
..FROM..WITH (NOLOCK)..
RESTORE..WITH MOVE..
- Es ist optional, Anweisungen mit
;
abzuschließen im SQL-Server
Zusammengenommen muss die vorherige Anweisung vor einem WITH/CTE beendet werden. Um Fehler zu vermeiden, verwenden die meisten Leute ;WITH
weil wir nicht wissen, was vor dem CTE ist
Also
DECLARE @foo int
;WITH OrderedOrders AS
(
SELECT SalesOrderID, OrderDate,
...;
ist dasselbe wie
DECLARE @foo int
;WITH OrderedOrders AS
(
SELECT SalesOrderID, OrderDate,
...;
Der MERGE-Befehl hat eine ähnliche Anforderung.