Maison >base de données >tutoriel mysql >Pourquoi utiliser un point-virgule avant une expression de table commune (CTE) dans SQL Server ?
Point-virgule dans les instructions Common Table Expression (CTE)
Dans SQL Server, les instructions Common Table Expression (CTE) incluent souvent un point-virgule avant le déclaration, comme le montre l'exemple ci-dessous :
;WITH OrderedOrders AS --semicolon here ( SELECT SalesOrderID, OrderDate, ROW_NUMBER() OVER (ORDER BY OrderDate) AS 'RowNumber' FROM Sales.SalesOrderHeader ) SELECT * FROM OrderedOrders WHERE RowNumber BETWEEN 50 AND 60
Ce point-virgule sert à deux principaux fins :
..FROM..WITH (NOLOCK).. RESTORE..WITH MOVE..
Pour éviter toute confusion, un Le point-virgule est utilisé pour terminer l'instruction avant AVEC afin de la différencier des autres utilisations.
Lorsqu'ils sont utilisés ensemble, ces facteurs dictent que l'instruction CTE doit être terminée avant la clause WITH pour éviter les ambiguïtés. Par conséquent, le point-virgule est inséré avant AVEC pour garantir une analyse correcte de l'instruction.
Cette règle s'applique également à la commande MERGE, qui a une exigence similaire pour un point-virgule avant l'instruction.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!