Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 为什么Microsoft SSMS语法突出显示单词“quot;配置";?_Sql_Sql Server_Tsql_Ssms - Fatal编程技术网

Sql 为什么Microsoft SSMS语法突出显示单词“quot;配置";?

Sql 为什么Microsoft SSMS语法突出显示单词“quot;配置";?,sql,sql-server,tsql,ssms,Sql,Sql Server,Tsql,Ssms,在使用Microsoft SQL Server Management Studio 14.0.17254.0及其查询编辑器时,我注意到配置这个词在语法上总是突出显示为蓝色关键字。即使它似乎不在列表中。这是其他SQL标准中的关键字还是以前的关键字?是否有任何原因需要使用与SELECT或WHERE相同的颜色突出显示 我在询问其他关键词时发现了类似的问题,它们似乎都有逻辑上的原因,但找不到这个词的任何内容 这个问题的主要原因是,我想知道在查询中使用这个作为列名而不使用大括号封装是否完全安全。SQL

在使用Microsoft SQL Server Management Studio 14.0.17254.0及其查询编辑器时,我注意到
配置
这个词在语法上总是突出显示为蓝色关键字。即使它似乎不在列表中。这是其他SQL标准中的关键字还是以前的关键字?是否有任何原因需要使用与
SELECT
WHERE
相同的颜色突出显示

我在询问其他关键词时发现了类似的问题,它们似乎都有逻辑上的原因,但找不到这个词的任何内容


这个问题的主要原因是,我想知道在查询中使用这个作为列名而不使用大括号封装是否完全安全。

SQL Server中既有保留关键字,也有关键字<代码>配置是一个关键字,但它不是保留的。就像
int
(对于数据类型
int
)一样,其他单词也是一个关键字,但您仍然可以在未加引号的语句中使用它:

CREATE TABLE sample (int int,
                     date date,
                     char varchar(10),
                     last decimal(12,2),
                     first numeric(12,2),
                     system char(2));
每个单词都有某种类型的关键字(包括
sample
),但只保留
CREATE
TABLE
char
甚至是一种数据类型和函数,并且不是保留的,因此您可以使用一个无意义的语句,如
CONVERT(char,char(char))
,并且对“char”的每个引用都有不同的含义


CONFIGURATION
也不是一个很好的配置,所以此时,您似乎可以使用它。

有趣的是,是否有SQL Server关键字列表?显然,
int
date
等都有一个用例。
configuration
关键字的用例是什么?@ruohola:to使
ALTER SERVER[SCOPED]configuration
语句色彩鲜艳。T-SQL是一种非常“英语化”的语言;如果在某个地方使用的每一个单词都被保留了,你就得多引用一些。(这不一定是件坏事……“有SQL Server关键字列表吗?”据我所知,没有,没有(无论如何不是正式的)。可能有人已经整理了一份清单。你需要避免的是那些你已经链接过的文档中的内容(就个人而言,如果你可以,我建议你也要避免未来的内容,这样别人就不会崩溃,但如果不经常提及,那就很难做到,更像是白日梦)。