CTE : pourquoi l'énigme du point-virgule ?
Les expressions de table communes (CTE) commencent souvent par un point-virgule (;), ce qui laisse perplexe certains développeurs. Nous examinons pourquoi c'est le cas.
Raison d'être du point-virgule
Le point-virgule joue un rôle crucial dans la résolution de l'ambiguïté et dans la garantie de la terminaison de la déclaration. Le mot-clé WITH est utilisé dans divers contextes :
Pour éviter toute confusion, un un point-virgule avant le CTE (par exemple ;WITH OrderedOrders AS) est recommandé. Il garantit que l'instruction précédente est terminée avant le début du CTE.
Points-virgules facultatifs
Bien que les points-virgules soient généralement facultatifs pour la terminaison d'une instruction dans SQL Server, ils deviennent obligatoires avant les CTE. et les commandes MERGE. Il s'agit d'une mesure de protection pour éviter les erreurs. Par exemple :
DECLARE @foo int; WITH OrderedOrders AS ( SELECT SalesOrderID, OrderDate, ...
est équivalent à :
DECLARE @foo int ;WITH OrderedOrders AS ( SELECT SalesOrderID, OrderDate, ...
Par conséquent, utiliser un point-virgule avant les CTE est une bonne pratique pour éviter toute ambiguïté potentielle et garantir une bonne exécution.
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!