Domanda

Ho notato che Visual Studio 2008 inserisce parentesi quadre attorno ai nomi delle colonne in SQL.Le parentesi offrono qualche vantaggio?Quando scrivo il codice T-SQL non mi sono mai preoccupato di loro.

Esempio:Studio visivo:SELEZIONA [colonna1], [colonna2] ecc...

A modo mio:SELEZIONA colonna1, colonna2 ecc...

È stato utile?

Soluzione

Le parentesi sono necessarie se si utilizzano parole chiave o caratteri speciali nei nomi o negli identificatori delle colonne.Potresti nominare una colonna [First Name] (con uno spazio) - ma in questo caso dovresti usare le parentesi ogni volta che fai riferimento a quella colonna.

Gli strumenti più recenti li aggiungono ovunque per ogni evenienza o per coerenza.

Altri suggerimenti

Sono utili se le tue colonne hanno gli stessi nomi delle parole chiave SQL o contengono spazi.

Esempio:

create table test ( id int, user varchar(20) )

Oh no!Sintassi errata vicino alla parola chiave "utente".Ma questo:

create table test ( id int, [user] varchar(20) )

Funziona bene.

Sono utili se, per qualche motivo, utilizzi nomi di colonna con determinati caratteri, ad esempio.

Select First Name From People

non funzionerebbe, ma inserire parentesi quadre attorno al nome della colonna funzionerebbe

Select [First Name] From People

In breve, è un modo per dichiarare esplicitamente il nome di un oggetto;colonna, tabella, database, utente o server.

I nomi delle colonne possono contenere caratteri e parole riservate che confondono il motore di esecuzione delle query, quindi l'inserimento continuo di parentesi attorno ad essi impedisce che ciò accada.Più facile che verificare la presenza di un problema e poi affrontarlo, immagino.

Le parentesi possono essere utilizzate quando i nomi delle colonne sono parole riservate.

Se stai generando a livello di codice l'istruzione SQL da una raccolta di nomi di colonne che non controlli, puoi evitare problemi utilizzando sempre le parentesi.

Inoltre, alcuni database SharePoint contengono trattini nei loro nomi.L'uso delle parentesi quadre nelle istruzioni SQL consente di analizzare correttamente i nomi.

Credo che li aggiunga lì per coerenza...sono necessari solo quando è presente uno spazio o un carattere speciale nel nome della colonna, ma è più pulito includerli sempre quando l'IDE genera SQL.

Nonostante segua una convenzione di denominazione che eviti l'uso di parole riservate, Microsoft aggiunge nuove parole riservate.L'uso delle parentesi consente di aggiornare il codice a una nuova versione di SQL Server, senza dover prima modificare le parole appena riservate di Microsoft dal codice client.Tale modifica può essere una preoccupazione significativa.Ciò potrebbe causare il ritiro anticipato del progetto....

Le parentesi possono essere utili anche quando si desidera sostituire tutto in uno script.Se il batch contiene una variabile denominata @String e una colonna denominata [String], puoi rinominare la colonna in [NuovaStringa], senza rinominare @String in @NuovaStringa.

Durante il periodo oscuro di SQL negli anni '90 era una buona pratica poiché i progettisti SQL cercavano di aggiungere ogni parola nel dizionario come parola chiave per una valanga infinita di nuove funzionalità e la chiamarono bozza SQL3.

Quindi mantiene la compatibilità futura.

E ho scoperto che ha un altro effetto collaterale positivo, aiuta molto quando usi grep nelle revisioni del codice e nel refactoring.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top