- Pour éviter toute ambiguïté car WITH peut être utilisé ailleurs
..FROM..WITH (NOLOCK)..
RESTORE..WITH MOVE..
- Il est facultatif de terminer les instructions avec
;
dans SQL Server
Mis ensemble, l'instruction précédente doit se terminer avant un WITH/CTE. Pour éviter les erreurs, la plupart des gens utilisent ;WITH
parce qu'on ne sait pas ce qu'il y a devant le CTE
Alors
DECLARE @foo int
;WITH OrderedOrders AS
(
SELECT SalesOrderID, OrderDate,
...;
est identique à
DECLARE @foo int
;WITH OrderedOrders AS
(
SELECT SalesOrderID, OrderDate,
...;
La commande MERGE a une exigence similaire.