非请自来!
题主你好。SQL里面的数据库标识符规范,虽然有个大标准,但是各数据库软件厂商也有点小区别。
以SQL Server为例,它里面的服务器、数据库和数据库对象(如表、视图、列、索引、触发器、过程、约束和规则等)都有标识符,数据库对象的名称被看成是该对象的标识符。大多数对象要求带有标识符,但有些对象(如约束)中标识符是可选项。
在定义标识符时必须遵守以下规定:
(1)标识符的首字符必须是下列字符之一。
*统一码(Unicode)2.0标准中定义的字母,包括拉丁字母a~z和A~Z,以及来自其他语言的字符。
*下划线“_”、符号“@”或者数字符号“#”
在 SQL Server中,某些处于标识符开始位置的符号具有特殊意义。以“@”符号开始的标识符表示局部变量或参数;以一个数字符号“#”开始的标识符表示临时表或过程,如表“#gzb”表示一张临时表;以双数字符号“##”开始的标识符表示全局临时对象,如表“##gzb”则是全局临时表。
(2)标识符后续字符可以是一下3种
*统一码(Unicode)2.0标准中所定义的字母
*来自拉丁字母或其他国家/地区脚本的十进制数字
*“@”符号、美元符号“$”、数字符号“#”或下划线“_”
(3)标识符不能是Transact-SQL的保留字
(4)不允许嵌入空格或其它特殊字符