SQL server非分隔标识符的规则

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL server非分隔标识符的规则相关的知识,希望对你有一定的参考价值。

我在安装SQL server2000的时候,在服务器和客户端工具的下一步,需要我提供一个实例名,而且必须满足SQL server非分隔标识符的规则,我不懂该怎么做.

符合所有标识符格式规则的标识符可以使用分隔符,也可以不使用分隔符。不符合标识符格式规则的标识符必须使用分隔符。分隔标识符在下列情况下使用: 当在对象名称或对象名称的组成部分中使用保留字时。 推荐不要使用保留关键字作为对象名称。从 Microsoft�0�3 SQL Server�6�4 早期版本升级的数据库可能含有标识符,这些标识符包括早期版本中未保留而在 SQL Server 2000 中保留的字。可用分隔标识符引用对象直到可改变其名称。当使用未被列为合法标识符的字符时。 SQL Server 允许在分隔标识符中使用当前代码页中的任何字符。但是,不加选择地在对象名称中使用特殊字符将使 SQL 语句和脚本难以阅读和维护。Transact-SQL 所使用的分隔符类型:说明 分隔符仅用于标识符。分隔符不能用于关键字,不论它们在 SQL Server 中是否被标记为保留字。被引用的标识符用双引号 (") 分隔开: SELECT * FROM "Blanks in Table Name"括在括号中的标识符用方括号 ([ ]) 分隔: SELECT * FROM [Blanks In Table Name]仅当 QUOTED_IDENTIFIER 选项设置为 ON 时,被引用的标识符才有效。默认情况下,当用于 SQL Server 的 Microsoft OLE DB 提供程序和 SQL Server ODBC 驱动程序连接时,将 QUOTED_IDENTIFIER 设置为 ON。默认情况下,DB-Library 不将 QUOTED_IDENTIFIER 设置为 ON。不管使用何种接口,个别应用程序或用户可随时更改设置。SQL Server 提供了多种方法来指定该选项。例如,在 SQL Server 企业管理器和 SQL 查询分析器中,该选项可在对话中设置。在 Transact-SQL 中,可以使用 SET QUOTED_IDENTIFIER、sp_dboption 的 quoted identifier 选项或 sp_configure 的 user options 选项将此选项设为多种级别。当 QUOTED_IDENTIFIER 为 ON 时,对于 SQL 语句中的双引号和单引号 (') 的使用,SQL Server 遵循 SQL-92 规则: 双引号只能用于分隔标识符,不能用于分隔字符串。 为保持与现有应用程序的兼容性,SQL Server 并不完全强制该规则。如果字符串没有超过标识符的长度,则该字符串可包含在双引号内。但不建议这样做。单引号必须用来包含字符串,不能用于分隔标识符。 如果字符串包含单引号,则需要在单引号前再增加一个单引号:SELECT * FROM "My Table"WHERE "Last Name" = 'O''Brien'当 QUOTED_IDENTIFIER 为 OFF 时,对于双引号和单引号的使用,SQL Server 遵循如下规则: 引号不能用于分隔标识符,而是用括号作为分隔符。

单引号或双引号可用于包含字符串。 如果使用双引号,嵌入的单引号不需要用两个单引号来表示:SELECT * FROM [My Table]WHERE [Last Name] = "O'Brien"无论 QUOTED_IDENTIFIER 的设置如何,都可以在括号中使用分隔符。分隔标识符规则分隔标识符的格式规则是: 分隔标识符可以包含与常规标识符相同的字符数(1 到 128 个,不包括分隔符字符)。本地临时表标识符最多可以包含 116 个字符。

标识符的主体可以包含当前代码页内字母(分隔符本身除外)的任意组合。例如,分隔符标识符可以包含空格、对常规标识符有效的任何字符以及下列任何字符: 代字号 (~)连字符 (-)惊叹号 (!)左括号 ()百分号 (%)右括号 ()插入号 (^)撇号 (')and 号 (&)句号 (.)左圆括号 (()反斜杠 (\)右圆括号 ())重音符号 (`)
参考技术A 随便填写个不要带- 空格之类的就可以了 参考技术B 这个可以随便写的 不过要自己记住就好了啊

标识符命名规则

顾名思义,“命名规则”指的是为标识符起名字时遵循的规则。
标识符主要包括变量名、函数名、类名和宏名。

三种主流命名法:骆驼(Camel)命名法,帕斯卡(Pascal)命名法和匈牙利命名法。

个人习惯,一般情况使用骆驼命名法,类名对象名使用帕斯卡。

    数据库表名 统一全部小写中间用"_"分隔 例如 "cps_user",字段名全部小写可以用"_"分隔,或者不用。

骆驼(Camel)命名法近年来越来越流行,
在许多新的函数库和Java这样的平台下使用得当相多。
骆驼命名法,正如它的名称所表示的那样,指的是混合使用大小写字母来构成标识符的名字。
其中第一个单词首字母小写,余下的单词首字母大写。
例如:printEmployeePaychecks(),函数名中每一个逻辑断点都有一个大写字母来标记。

个人感觉好处是,标示符很多情况是一个单词,国人习惯小写,大写终究是有点别扭。


帕斯卡(Pascal)命名法与骆驼命名法类似。
只不过骆驼命名法是第一个单词首字母小写,而帕斯卡命名法则是第一个单词首字母大写。
例如:DisplayInfo()和UserName都是采用了帕斯卡命名法。

这种命名法看起来很整洁,不过标示符只有一个单词的时候为了统一也要大写,很别扭啊。

一、匈牙利命名法:
         广泛应用于象Microsoft Windows这样的环境中。

         Windows 编程中用到的变量(还包括宏)的命名规则匈牙利命名法,这种命名技术是由一位能干的 Microsoft 程序员查尔斯·西蒙尼(Charles Simonyi) 提出的。

        匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀,标识出变量的作用域,类型等。前缀之后的才是首字母大写的一个单词或多个单词组合。

例如:

  iTotal, bSort, sName, aField, oDate,fnCookieCallback    第一个小写字符分别标注了标示符的数据类型。

感觉这种命名法在参数传递中,优势很明显。

前 缀             类  型匈牙利命名法中常用的小写字母的前缀:

a                     数组 (Array) 
b                     布尔值 (Boolean) 
by                   字节 (Byte) 
c                     有符号字符 (Char) 
cb                   无符号字符 (Char Byte,没有多少人用) 
cr                    颜色参考值 (ColorRef) 
cx,cy               坐标差(长度 ShortInt) 
dw                   Double Word 
fn                    函数 
h                     Handle(句柄) 
i                      整型 
l                      长整型 (Long Int) 
lp                    Long Pointer 
m_                  类的成员 
n                     短整型 (Short Int) 
np                   Near Pointer 
p                     Pointer 
s                     字符串型 
sz                    以null做结尾的字符串型 (String with Zero End) 
w                     Word  

以上是关于SQL server非分隔标识符的规则的主要内容,如果未能解决你的问题,请参考以下文章

sql server的对象命名规则是啥

分隔符和标识符规则

标识符命名规则

sql server 排序规则是不是意味着列名必须是正确的大小写?以及如何处理

sql标识符和格式

sql标识符和格式