0.服务器,数据库和数据库对象都有标识符,数据库对象的名称被看成是该对象的标识符。大多数对象要求带有标识符,但有些对象中(如约束)标识符是可选项。
1.标识符格式
必须遵守的规定:
1)首字母必须是统一码(Unicode)2.0标准中所定义的字母,包括拉丁字母a~z和A~Z,以及来自其它语言的字符 或 下划线“_” 符号“@” 数字符号“#”
某些处于标识符开始位置的符号具有特殊意义:
以"@"符号开始的标识符表示局部变量或参数
以“#”符号开始的的标识符表示临时表或过程,如表“#abc”就是一张临时表
以“##”开始的标识符表示全局临时对象,如表“##abc”则是全局临时表
2)标识符的后续字符可以是一下3种:
统一码(Unicode)2.0标准中的所定义的字母
来自拉丁字母或其他国家/地区脚本的十进制数字
“@”,“$”, "#" 或 “_”
3) 标识符不允许是Transact-SQL中的保留字
4)不允许嵌入空格或其他特殊字符
2.标识符分类
标识符分为以下两种类型(包含的字符数必须在1~128之间,对于临时表,标识符最多可以有116个字符):
1)常规标识符:符合标识符的格式规则
2)分隔标识符:包含在双引号("")或者 方括号([])内的标识符。该标识符可以不符合标识符的格式规则,如 [Db Interface], Db和Interface之间含有空格,但因为使用了方括号,所以视为分隔标识符