Pregunta

Me di cuenta de que Visual Studio 2008 coloca corchetes alrededor de los nombres de las columnas en SQL.¿Los brackets ofrecen alguna ventaja?Cuando entrego el código T-SQL, nunca me molesté con ellos.

Ejemplo:Estudio visual:SELECCIONE [columna1], [columna2], etc.

Mi propia manera:SELECCIONE columna1, columna2, etc.

¿Fue útil?

Solución

Los corchetes son obligatorios si utiliza palabras clave o caracteres especiales en los nombres o identificadores de las columnas.Podrías nombrar una columna. [First Name] (con un espacio), pero entonces necesitarías usar corchetes cada vez que hagas referencia a esa columna.

Las herramientas más nuevas los agregan en todas partes por si acaso o por coherencia.

Otros consejos

Son útiles si sus columnas tienen los mismos nombres que las palabras clave SQL o tienen espacios.

Ejemplo:

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

¡Oh, no!Sintaxis incorrecta cerca de la palabra clave "usuario".Pero esto:

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

Funciona bien.

Son útiles si (por alguna razón) utiliza nombres de columnas con ciertos caracteres, por ejemplo.

Select First Name From People

no funcionaría, pero poner corchetes alrededor del nombre de la columna sí funcionaría

Select [First Name] From People

En resumen, es una forma de declarar explícitamente el nombre de un objeto;columna, tabla, base de datos, usuario o servidor.

Los nombres de las columnas pueden contener caracteres y palabras reservadas que confundirán al motor de ejecución de consultas, por lo que colocar corchetes alrededor de ellas en todo momento evita que esto suceda.Supongo que es más fácil que buscar un problema y luego solucionarlo.

Los corchetes se pueden utilizar cuando los nombres de las columnas son palabras reservadas.

Si está generando mediante programación la declaración SQL a partir de una colección de nombres de columnas que no controla, entonces puede evitar problemas usando siempre los corchetes.

Además, algunas bases de datos de SharePoint contienen guiones en sus nombres.El uso de corchetes en declaraciones SQL permite que los nombres se analicen correctamente.

Creo que los agrega allí para mantener la coherencia...solo son necesarios cuando tiene un espacio o un carácter especial en el nombre de la columna, pero es más limpio incluirlos todo el tiempo cuando el IDE genera SQL.

Independientemente de seguir una convención de nomenclatura que evita el uso de palabras reservadas, Microsoft agrega nuevas palabras reservadas.El uso de corchetes permite que su código se actualice a una nueva versión de SQL Server, sin necesidad de editar primero las palabras recién reservadas de Microsoft de su código de cliente.Esa edición puede ser una preocupación importante.Puede provocar que su proyecto se retire prematuramente....

Los corchetes también pueden ser útiles cuando desea reemplazar todo en un script.Si su lote contiene una variable denominada @String y una columna denominada [String], puede cambiar el nombre de la columna a [NewString], sin cambiar el nombre de @String a @NewString.

Durante la edad oscura de SQL en la década de 1990, era una buena práctica ya que los diseñadores de SQL intentaban agregar cada palabra en el diccionario como palabra clave para una avalancha interminable de nuevas características y lo llamaron borrador de SQL3.

Por lo tanto, mantiene la compatibilidad futura.

Y descubrí que tiene otro efecto secundario interesante: ayuda mucho cuando se usa grep en revisiones y refactorización de código.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top