Maison > base de données > tutoriel mysql > CTE SQL Server : pourquoi le point-virgule principal ?

CTE SQL Server : pourquoi le point-virgule principal ?

Susan Sarandon
Libérer: 2025-01-05 18:22:43
original
839 Les gens l'ont consulté

SQL Server CTEs: Why the Leading Semicolon?

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 :

  • FROM..WITH : Utilise les CTE après la clause FROM.
  • RESTORE..WITH MOVE : Spécifie les options dans les instructions RESTORE.

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,
    ...
Copier après la connexion

est équivalent à :

DECLARE @foo int

;WITH OrderedOrders AS
(
    SELECT SalesOrderID, OrderDate,
    ...
Copier après la connexion

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!

source:php.cn
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