- Para evitar ambiguidade porque WITH pode ser usado em outro lugar
..FROM..WITH (NOLOCK)..
RESTORE..WITH MOVE..
- É opcional encerrar instruções com
;
no SQL Server
Juntos, a instrução anterior deve ser encerrada antes de um WITH/CTE. Para evitar erros, a maioria das pessoas usa
;WITH
porque não sabemos o que está antes do CTE então
DECLARE @foo int
;WITH OrderedOrders AS
(
SELECT SalesOrderID, OrderDate,
...;
é o mesmo que
DECLARE @foo int
;WITH OrderedOrders AS
(
SELECT SalesOrderID, OrderDate,
...;
O comando MERGE tem um requisito semelhante.