En el SSMS 2208, el identificador "Búsqueda" tiene un color rosa intenso como si fuera una función (del mismo color que, por ejemplo, "Encendido" o "Convertir"). ¿Por qué?
No puedo encontrarlo en la lista oficial de palabras reservadas . Las búsquedas en la web parecen inútiles ya que hay muchos términos de "búsqueda" que no tienen nada que ver con mi pregunta.
COUNTDISTINCT
,COUNTROWS
yRUNNINGVALUE
deberían funcionar de la misma manera.Respuestas:
Al principio pensé que provenía de Sybase (que es donde se originó SQL Server, por supuesto), que tiene una función de búsqueda , pero esto está relacionado con PowerBuilder. Y luego verifiqué SQL Server 2000 y no se ilumina en rosa en el Analizador de consultas ...
... si fuera heredado de Sybase, hubiera esperado que estuviera en la lista de palabras codificadas por colores todo el tiempo. Es posible, supongo, que el archivo de gramática se haya actualizado y que se haya omitido "por error" en 2000, pero lo dudo. Es mucho más probable que esté coloreado porque está listado en el Servicio de lenguaje T-SQL como una palabra de compatibilidad futura, o porque fue arrojado al Servicio de lenguaje antes de ser utilizado. (Estoy esperando la confirmación oficial de esto, y compartiré lo que pueda).
Algunos otros ejemplos divertidos ( me quejé de algunos de estos en Connect en 2008 , pero se cerró como No soluciona) de resaltado inapropiado de palabras que tampoco están en la lista que usted cita:
Domains
se ilumina en verdeDescription
se ilumina en azulServer
se ilumina en azulInstead
se ilumina en azulRC2
y seRC4
ilumina en azulEn ese momento no capturé los ejemplos
Lookup
oInstead
, y estoy seguro de que también hay otros. Aunque supongo que el documento que estás viendo tampoco está tan actualizado como podría estarlo; como mínimo,INSTEAD
debería estar en esa lista ya que ahora es parte de T-SQL (ya que se introdujeron los desencadenantes INSTEAD OF). Apuesto a que hay al menos otras 20 palabras clave que se han agregado para SQL Server 2012 pero que tampoco están en esa lista. Escaneo rápido hay algunas excepciones notables que deben estar allí:OFFSET
,IIF
,FORMAT
, etc.Otro ejemplo que puede encontrar interesante; intente poner una palabra como
INSTEAD
en una cadena pero en su propia línea. Esto funciona bien pero no parece que lo haga:(Esta es cortesía de un error presentado por @JonSeigel ).
Probablemente haya archivado y comentado un par de docenas de otros errores contra el resaltado de sintaxis de Management Studio ; Ciertamente no es perfecto. Le agradezco que quiera saber por qué, pero es posible que al final no lo sepamos . Como puede ver en muchos de estos elementos de Connect, generalmente los ignoran / difieren o los arreglan sin mucha explicación.
fuente
INSTEAD OF UPDATE
. Pero no es una palabra reservada ...