Maison >base de données >tutoriel mysql >Pourquoi utiliser des points-virgules avant les expressions de table communes (CTE) dans SQL Server ?
Points-virgules dans les expressions de table communes (CTE) de SQL Server
Dans SQL Server, les expressions de table communes (CTE) incluent souvent un point-virgule devant de la déclaration, comme illustré ci-dessous :
;WITH OrderedOrders AS ( SELECT SalesOrderID, OrderDate, ROW_NUMBER() OVER (ORDER BY OrderDate) AS 'RowNumber' FROM Sales.SalesOrderHeader ) SELECT * FROM OrderedOrders WHERE RowNumber BETWEEN 50 AND 60
Objectif de la Point-virgule
Le point-virgule sert à deux fins :
Évite toute ambiguïté : AVEC peut également être utilisé dans d'autres contextes, tels que :
Dans le cadre des CTE, il est recommandé d'utiliser ;WITH pour éviter d'éventuels conflits. Si un CTE est précédé d'une instruction qui ne se termine pas par un point-virgule, l'utilisation accidentelle de WITH dans le cadre de cette instruction pourrait entraîner un comportement inattendu.
Exemple
Considérez la déclaration suivante :
DECLARE @foo int; WITH OrderedOrders AS ( SELECT SalesOrderID, OrderDate, ...;
Cette déclaration est équivalente à :
DECLARE @foo int; ;WITH OrderedOrders AS ( SELECT SalesOrderID, OrderDate, ...;
Conclusion
L'utilisation de ;WITH avant les instructions CTE ajoute de la clarté et de la cohérence aux requêtes SQL Server. Cela permet d'éviter toute ambiguïté et garantit que les déclarations sont correctement terminées, minimisant ainsi le risque d'erreurs.
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!