Maison > base de données > tutoriel mysql > Pourquoi utiliser un point-virgule avant une expression de table commune (CTE) dans SQL Server ?

Pourquoi utiliser un point-virgule avant une expression de table commune (CTE) dans SQL Server ?

Linda Hamilton
Libérer: 2025-01-05 10:25:43
original
694 Les gens l'ont consulté

Why Use a Semicolon Before a Common Table Expression (CTE) in 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
Copier après la connexion

Ce point-virgule sert à deux principaux fins :

  • Éviter toute ambiguïté :Le mot-clé AVEC peut être utilisé dans d'autres contextes, tels que :
..FROM..WITH (NOLOCK)..
RESTORE..WITH MOVE..
Copier après la connexion

Pour éviter toute confusion, un Le point-virgule est utilisé pour terminer l'instruction avant AVEC afin de la différencier des autres utilisations.

  • Instruction facultative Terminaison : Dans SQL Server, les points-virgules sont facultatifs pour la terminaison d'une instruction. Cependant, il est généralement recommandé d'utiliser des points-virgules pour améliorer la lisibilité et éviter les erreurs.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal