Question

Si quelqu'un fait un clic droit sur une table donnée dans une base de données en utilisant SQL Server Management Studio à partir de Microsoft et de créer table de script pour fenêtre de requête, il affiche la création d'un code de table dans la fenêtre. Je remarquez quelque chose comme ce qui suit

CREATE TABLE [dbo]. [Connexion] (
    [ID utilisateur] [int] NOT NULL,
    [LoginName] nvarchar COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
etc
)

Est-ce la façon dont il apparaît dans d'autres SGBD aussi?
Est-ce quelque chose de spécifique à SGBD utilisé?
Est-ce juste une vue de fantaisie seulement?

Pourquoi " [] " utilisé autour des noms de colonnes et les noms de table. Définition simple TSQL ressemblerait à quelque chose comme
CREATE TABLE nom_table (
  Colonne # 1 Datatype NOT NULL,
  Colonne # 2 Datatype NOT NULL UNIQUE,
  - etc ...
)

S'il vous plaît ne vous dérange pas mes questions idiotes.

Merci à l'avance,
Balaji S

Était-ce utile?

La solution

Ce sont des citations identifiant. Ils marquent le contenu comme un identificateur de base de données (nom de la colonne, le nom de la table, etc.) et permettent des espaces, des caractères spéciaux et des mots pour être utilisés comme identifiants réservés. En général, aucun de ceux qui apparaissent dans les identificateurs de sorte que les citations d'identification sont, strictement parlant, inutile. Lorsque le texte ne peut pas être analysé en raison des caractères spéciaux ou des mots réservés, les citations d'identité sont nécessaires.

Il est plus facile pour des outils automatisés pour utiliser simplement toujours les citations d'identité que de savoir quand vous pourriez partir sans eux.

produits de base de données utilisent des caractères différents pour les citations d'identité. Vous voyez souvent le dos-tique ( `) utilisé pour cela.

Autres conseils

Juste pour ajouter à une excellente réponse de Larry Lustig, la fonction « créer script » spits de SQL Server sur le code SQL dont la première priorité est d'être analyseur convivial et qui est pourquoi il utilise toujours ses caractères d'identification délimités préférés étant entre crochets, plutôt que de dire les guillemets doubles utilisés par la norme SQL-92 (code SQL Server peut prendre en charge la norme par l'identifiant délimité utilisation de SET QUOTED_IDENTIFIER ON mais je ne pense pas que cela peut être spécifié comme une option pour la sortie). Être facile sur l'oeil humain (utilisation des espaces, des sauts de ligne, etc.) est simplement une considération secondaire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top