2009-10-09 21 views
6

al generar código/scripts,¿Por qué SQL Server Management Studio genera código usando corchetes?

  1. por qué sí genera SQL Server Management Studio código utilizando corchetes y no comillas dobles?

    SELECT [NOMBRE] de [TABLA]

  2. y hay una manera (ajuste/entrada de registro) para configurarlo para usar comillas dobles (el estándar) en lugar?

    seleccionar "Nombre" FROM "TABLA"

Esto es muy característica MSFT-dad, dado que toda su documentación indican ahora las comillas dobles (ver this)

+0

Usted dice "comillas dobles [son] (el estándar)". ¿Es eso un estándar ANSI? –

+0

sí, es el estándar ANSI – van

+0

"El uso de corchetes, [y], para delimitar los identificadores no se ve afectado por la configuración QUOTED_IDENTIFIER". Creo que el legado de Sybase y sus comportamientos son por qué esto se hizo necesario. – shawnt00

Respuesta

3

¿Por qué sql-server (estudio de gestión) genera código usando corchetes?

SELECT [NOMBRE] de [TABLA]

Para hacer frente a los nombres que son palabras reservadas o que contienen espacios en blanco.

Los corchetes son la forma nativa de ajustar los identificadores. Ellos son asimétricos y puede ser igual, mientras que las cotizaciones son simétricas y se deben emparejar (o se duplicaron para incluir en el nombre):

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

buen punto, lo sé. Debería cambiar la redacción de mi pregunta: quise decir el corchete y no las comillas dobles. Arreglará. – van

+0

Aunque cubre solo la mitad de mi pregunta, aceptaré la respuesta ya que el asimétrico es un muy buen argumento. – van

2

Su enlace explica por qué, al menos para mí. Los paréntesis no están fijando dependiente, pero la validez de "depende de la configuración QUOTED.

1

Para responder a la otra mitad de su pregunta, hay una solución en SQL Server Management Studio con el Reemplazar todo orden (Ctrl + H ):

  • Encuentra lo que: [\[\]]
  • Sustituir por: "
  • de verificación "Usar:" y seleccione "expresiones regulares"
  • Prensa "Reemplazar todo"

Tenga en cuenta que esto también va a reemplazar las ocurrencias de los soportes en su comentario.

Cuestiones relacionadas