标识符
所有的数据库对象都有名称,通常称为名称。两种类型的名称作为标只符是有效的,规则
名称类似于常规编程语言中的变量名称,以及SQL规定的分隔符。为了有效,每一种类型的标识符必须符合一组规则,如下:
合格的对象标识符规则:
• 长度不能超过31个字符.
• 名称必须以一个无重音的开始7位ASCII字母开始,后跟随77位ASCII字母,数字,下划线,美元符号。没有其它字符包括空格在内是有效的了。名称是不区分大写的,意味着它的声明和使用既可以是大也可以是小写。因此,从系统的观点看下面的名称是一样的:
fullname
FULLNAME
FuLlNaMe
FullName
合格的名称语法
<名称> ::=
<字母> | <名称><字母> | <名称><数字> | <名称>_ | <名称>$
<字母> ::= <大写字母> | <小写字母>
<大写字母> ::= A | B | C | D | E | F | G | H | I | J | K | L | M |
N | O | P | Q | R | S | T | U | V | W | X | Y | Z
<小写字母> ::= a | b | c | d | e | f | g | h | i | j | k | l | m |
n | o | p | q | r | s | t | u | v | w | x | y | z
<数字> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
分隔对象标识符的规则
• 长度不能超过31个字符
• 完整的字符串必须包含在双引号内,例如:"anIdentifier"
• 它可以包含任何拉丁字符集的字符,包括重音字符,空格和特殊字符
• 一个标识符可以是保留字
• 分隔符在所有上下文中都是区分大小写的
• 带分隔名称的尾随空格被删除,与任何字符串常量一样
• 分隔标识符仅在方言3中有效。在方言有中更多详细信息,请参阅SQL方言
分隔名称语法
<delimited name> ::= "<permitted_character>[<permitted_character> …]"
(分隔名称 ::= "<允许的字符>[允许的字符> …]"
备注
分隔标识符如是"FULLNAME"同普通标识符FULLNAME, fullname,FullName等等是一样的,原因是Firebird大写所有普通的名字,无论他们如何被定义或声明。分隔的标识符始终按照其定义的确切情况来存储或声明,因此,存储在元数据中的"FullName" (带双引号的)是不同于FullName(不带双引号,也是合格的)。