SAP HANA 使用巴科斯范式(Backus Naur Form)形式化符号来描述语法:
巴克斯范式的内容:
尖括号( < > )内包含的为必选项。
: : = 是 “被定义为”的意思。
方括号( [ ] )内包含的为可选项。
大括号( { } )内包含的为可重复0至无数次的项。
竖线( | )表示在其左右两边任选一项,相当于"OR"的意思。
省略号(...)表示该元素可以重复任意多次。如果省略号后面出现分组元素,重复括号里面指定的分组元素。如果省略后出现一个单元素的元素,只是重复单元素。
!! :介绍了常用的英语文本。这是用于定义一个语法元素不是表示在BNF。
形式:
symbol := alternative1 | alternative2 ... 每条规则申明 ::=左侧的符号必须被右侧的某一个可选项代替.
实例讲解:创建索引
CREATE [UNIQUE] [BTREE | CPBTREE] INDEX <index_name> ON <table_name> (<column_name_order>, ...) [ASC | DESC];
创建索引:
有两种可选项 [UNIQUE] [BTREE | CPBTREE]
[BTREE | CPBTREE] :可以选择 BTREE 或者CPBTREE
<table_name>:指定表也为必选项。
[ASC | DESC]:可以选择 ASC 或者 DESC
(<column_name_order>, ...):<column_name_order>可以重复多次。
<index_name> ::= [<schema_name>.]<identifier>
[<schema_name>.]:可选项指定schema名。
<identifier>:必选项索引名称。
<column_name_order> ::= <column_name> [ASC | DESC]
<column_name>:必选项
[ASC | DESC]:可以选择 ASC 或者 DESC