EBNF構文
この仕様では、EBNFメタ構文を使用して、SQL for Oracle NoSQL Databaseの構文を指定します。次のEBNF表記が適用されます。
- 大文字の単語は、キーワード、句読点、演算子記号、およびEBNFによって問合せテキストの終端(トークンとも呼ばれる)として認識されるその他の構文エンティティを表すために使用されます。たとえば、
SELECT
は、問合せテキストのselectキーワードを表します。キーワードは大/小文字が区別されないことに注意してください。「select」と「sELEct」はどちらも、SELECT終端が表す同じキーワードです。 - 小文字の単語は非終端に使用されます。たとえば、
array_step : [expression]
は、array_stepが大カッコで囲まれた式であることを意味します。 - " "引用符で囲まれたものも端末とみなされます。たとえば、次の本番ルールでは、値比較演算子が=、>=記号のいずれかとして定義されます。例:
val_comp : "=" | ">="
。 - *は、これに先行する0個以上のものを意味します。たとえば、
field_name*
は、0個以上のフィールド名を意味します。 - +は、これに先行する1個以上のものを意味します。たとえば、
field_name+
は、1個以上のフィールド名を意味します。 - []は、オプション、つまり、これに含まれる0または1個のものを意味します。たとえば、
[field_name]
は、ゼロまたは1個のフィールド名を意味します。 - |は、これまたはあれを意味します。たとえば、
INT | STRING
は、整数または文字列を意味します。 - ()カッコは、EBNFサブ式をグループ化するために使用されます。たとえば、
(INT | STRING) [comment]
は、整数または文字列の後にコメントが続くか、整数または文字列のみで、その後に何もないことを意味します。