6
votes

Pourquoi SQL Server Management Studio génère-t-il du code utilisant des crochets?

Lors de la génération de code / de scripts,

  1. Pourquoi SQL Server Management Studio génère-t-il du code utilisant des crochets et non des guillemets à double guillemets?

    Sélectionnez [Nom] à partir de [Tableau]

  2. est-il une manière (entrée de réglage / registre) pour la configurer pour utiliser des guillemets (la norme) à la place?

    Sélectionnez "Nom" de "Table"

    Cette fonctionnalité est très msft-TY, étant donné que toute leur documentation indique maintenant les doubles citations (voir Ce )


3 commentaires

Vous dites "double citations [sont] (la norme)". Est-ce une norme ANSI?


Oui, c'est la norme ANSI


"Utiliser des crochets, [et], pour délimiter les identificateurs n'est pas affecté par le paramètre cité_identifier." Je pense que l'héritage Sybase et ses comportements sont pourquoi cela est devenu nécessaire.


3 Réponses :


4
votes

Pourquoi SQL-Server (Studio de gestion) génère un code utilisant des crochets? P>

Sélectionnez [Nom] de [Table] P>

Pour faire face aux noms des mots réservés ou contiennent des suites blouses. p>

Les crochets sont le moyen natif d'envelopper les identificateurs. Ils sont asymétriques et peuvent être inégalés, tandis que les citations sont symétriques et doivent être assorties (ou doublées pour les inclure dans le nom): P>

CREATE TABLE [[test] (id INT)
CREATE TABLE ["test] (id INT)
DROP TABLE "[test"
DROP TABLE """test"

2 commentaires

Bon point, je le sais. Je devrais changer de libellé de ma question: je voulais dire pourquoi le support carré et non des citations doubles. réparera.


Bien que cela ne couvre que la moitié de ma question, j'accepterai la réponse car l'assignme est un très bon argument.



2
votes

Votre lien explique pourquoi, du moins pour moi. Les supports ne sont pas dépendants de la réglage, mais la validité de "dépend du paramètre cité_identifier.


0 commentaires

1
votes

Pour répondre à l'autre moitié de votre question, il existe une solution de contournement dans SQL Server Management Studio avec la commande Remplacer toutes les commandes ( Ctrl + H ):

  • Trouvez ce que: [\ [\]]
  • Remplacez par: "
  • Cochez "Utilisez:" et sélectionnez "Expressions régulières"
  • Appuyez sur "Remplacer tout"

    N'ayez à l'esprit que cela remplacera également des occurrences de parenthèses dans votre commentaire.


0 commentaires