2012-07-13 7 views
7

tengo los siguientes TSQL sencilla para crear una tabla¿Por qué el nombre de la columna "fuente" Get dictada en gris en SSMS y editor de VS T-SQL?

CREATE TABLE NewsArticles 
(id INT NOT NULL IDENTITY(1, 1) PRIMARY KEY, 
lastCrawl DATETIME NULL, 
snippet NVARCHAR(2083) NULL, 
source NVARCHAR(2083) NULL, 
title NVARCHAR(2083) NULL, 
url NVARCHAR(2083) NULL) 

En Visual Studio 2012 y SQL Server 2012 Management Studio "fuente" se representa en gris, mientras que los otros nombres de columna se vuelven verde en SSMS o negro VS. ¿Por qué? La "fuente" palabra no parece ser una palabra reservada en the list of SQL reserved keywords

enter image description here

+0

Esto puede parecer una pregunta abstracta sin importancia, pero recibo errores cuando intento insertar filas de LINQ que tienen la columna de origen establecida como nula y durante el diagnóstico me sorprendió la diferente representación. – dumbledad

+2

Es una palabra clave utilizada en 'MERGE'. es decir, "CUANDO NO HACEN JUEGO POR ORIGEN" –

+0

Perfecto, creo que esa es una respuesta, gracias Martin. ¿Quieres moverlo de comentario a respuesta y lo marcaré como tal? – dumbledad

Respuesta

9

Es una palabra clave utilizada en MERGE. es decir, WHEN NOT MATCHED BY SOURCE.

La palabra MATCHED exhibe también el mismo comportamiento en que se puso de relieve gris en el editor.

Ninguno de estos son reserved keywords aunque por lo tanto, si se usan como identificador, no es necesario delimitarlos (a menos que encuentre que la sintaxis resalta como molesta).

+2

Seguimiento cuestión; si está utilizando 'fuente' o 'emparejado' en una consulta, ¿debería escapar de alguna manera o incluirlo entre corchetes? – n00b

+0

esa es una buena pregunta ...? –

+0

@ n00b, no es necesario para escapar de la "fuente". No he probado "emparejado", sin embargo. –

Cuestiones relacionadas