- Para evitar la ambigüedad porque WITH puede usarse en cualquier otro lugar
..FROM..WITH (NOLOCK)..
RESTORE..WITH MOVE..
- Es opcional terminar declaraciones con
;
en SQL Server
En conjunto, la declaración anterior debe terminar antes de un CON/CTE. Para evitar errores, la mayoría de la gente usa ;WITH
porque no sabemos que hay ante el CTE
Entonces
DECLARE @foo int
;WITH OrderedOrders AS
(
SELECT SalesOrderID, OrderDate,
...;
es lo mismo que
DECLARE @foo int
;WITH OrderedOrders AS
(
SELECT SalesOrderID, OrderDate,
...;
El comando MERGE tiene un requisito similar.