<html>
<head>
    <base href="https://docs.jboss.org/author">
            <link rel="stylesheet" href="/author/s/en/2172/19/5/_/styles/combined.css?spaceKey=TEIID&amp;forWysiwyg=true" type="text/css">
    </head>
<body style="background: white;" bgcolor="white" class="email-body">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
    <h2><a href="https://docs.jboss.org/author/display/TEIID/BNF+for+SQL+Grammar">BNF for SQL Grammar</a></h2>
    <h4>Page <b>edited</b> by             <a href="https://docs.jboss.org/author/display/~shawkins">Steven Hawkins</a>
    </h4>
        <br/>
                         <h4>Changes (18)</h4>
                                 
    
<div id="page-diffs">
                    <table class="diff" cellpadding="0" cellspacing="0">
    
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >|{anchor:token_DELETE}_DELETE_|[alter|#alter], [create trigger|#createTrigger], [delete statement|#delete]|| <br>|{anchor:token_DESC}_DESC_|[sort specification|#sortSpecification]|| <br></td></tr>
            <tr><td class="diff-changed-lines" >|{anchor:token_DISTINCT}_DISTINCT_|[standard aggregate function|#aggregateSymbol], [function|#function], <span class="diff-added-words"style="background-color: #dfd;">[if statement|#ifStatement],</span> [query expression <span class="diff-changed-words">body|#queryExpressionBody]<span class="diff-deleted-chars"style="color:#999;background-color:#fdd;text-decoration:line-through;">, [query term|#queryTerm]</span></span> <br></td></tr>
            <tr><td class="diff-changed-lines" ><span class="diff-added-words"style="background-color: #dfd;">[query term|#queryTerm],</span> [select clause|#select]|| <br></td></tr>
            <tr><td class="diff-unchanged" >|{anchor:token_DOUBLE}_DOUBLE_|[simple data type|#parseDataTypePrimary]|| <br>|{anchor:token_DROP}_DROP_|[drop option|#dropOption], [drop table|#dropTable]|| <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >|{anchor:token_FOREIGN}_FOREIGN_|[alter options|#alterStatement], [create procedure|#createDDLProcedure], [create foreign temp table|#createForeignTempTable], [create table|#createTable] <br>[foreign key|#foreignKey]|| <br></td></tr>
            <tr><td class="diff-changed-lines" >|{anchor:token_FROM}_FROM_|[delete statement|#delete], [from clause|#from], <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">[function|#function]||</span> <span class="diff-added-words"style="background-color: #dfd;">[function|#function], [if statement|#ifStatement]||</span> <br></td></tr>
            <tr><td class="diff-unchanged" >|{anchor:token_FULL}_FULL_|[qualified table|#qualifiedJoin]|| <br>|{anchor:token_FUNCTION}_FUNCTION_|[create procedure|#createDDLProcedure]|| <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >|{anchor:token_INTERSECT}_INTERSECT_|[query term|#queryTerm]|| <br>|{anchor:token_INTO}_INTO_|[dynamic data statement|#dynamicCommand], [insert statement|#insert], [into clause|#into]|| <br></td></tr>
            <tr><td class="diff-changed-lines" ><span class="diff-changed-words">|{anchor:token_IS}_IS_|[i<span class="diff-added-chars"style="background-color: #dfd;">f </span>s<span class="diff-added-chars"style="background-color: #dfd;">tatement|#ifStatement], [is</span></span> null predicate|#isNullCrit]|| <br></td></tr>
            <tr><td class="diff-unchanged" >|{anchor:token_JOIN}_JOIN_|[cross join|#crossJoin], [make dep options|#makedepOptions], [qualified table|#qualifiedJoin]|| <br>|{anchor:token_LANGUAGE}_LANGUAGE_|[object table|#objectTable]|| <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >|{anchor:token_NO}_NO_|[make dep options|#makedepOptions], [xml namespace element|#namespaceItem], [text table column|#textColumn], [text table|#textTable]|| <br>|{anchor:token_NOCACHE}_NOCACHE_|[option clause|#option]|| <br></td></tr>
            <tr><td class="diff-changed-lines" >|{anchor:token_NOT}_NOT_|[between predicate|#betweenCrit], [compound statement|#compoundStatement], [table element|#createColumn], <span class="diff-deleted-words"style="color:#999;background-color:#fdd;text-decoration:line-through;">[is null predicate|#isNullCrit]</span> <span class="diff-added-words"style="background-color: #dfd;">[if statement|#ifStatement]</span> <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">[match predicate|#matchCrit], [boolean factor|#notCrit], [procedure parameter|#procedureParameter], [procedure result column|#procedureRsColumn] <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">[is null predicate|#isNullCrit], [match predicate|#matchCrit], [boolean factor|#notCrit], [procedure parameter|#procedureParameter] <br></td></tr>
            <tr><td class="diff-changed-lines" ><span class="diff-added-words"style="background-color: #dfd;">[procedure result column|#procedureRsColumn],</span> [like regex predicate|#regexMatchCrit], [in predicate|#setCrit], [temporary table element|#tableElement]|| <br></td></tr>
            <tr><td class="diff-unchanged" >|{anchor:token_NULL}_NULL_|[table element|#createColumn], [is null predicate|#isNullCrit], [non numeric literal|#nonNumericLiteral], [procedure parameter|#procedureParameter] <br>[procedure result column|#procedureRsColumn], [temporary table element|#tableElement], [xml query|#xmlQuery]|| <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >[derived column|#derivedColumn], [drop option|#dropOption], [drop table|#dropTable], [dynamic data statement|#dynamicCommand] <br>[exception reference|#exceptionReference], [named parameter list|#executeNamedParams], [foreign key|#foreignKey], [function|#function] <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">[insert statement|#insert], [into clause|#into], [loop statement|#loopStatement], [xml namespace element|#namespaceItem] <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">[if statement|#ifStatement], [insert statement|#insert], [into clause|#into], [loop statement|#loopStatement] <br></td></tr>
            <tr><td class="diff-changed-lines" ><span class="diff-added-words"style="background-color: #dfd;">[xml namespace element|#namespaceItem],</span> [object table column|#objectColumn], [object table|#objectTable], [option <span class="diff-changed-words">clause|#option]<span class="diff-deleted-chars"style="color:#999;background-color:#fdd;text-decoration:line-through;">, [option pair|#optionPair]</span></span> <br></td></tr>
            <tr><td class="diff-changed-lines" ><span class="diff-added-words"style="background-color: #dfd;">[option pair|#optionPair],</span> [procedure parameter|#procedureParameter], [procedure result column|#procedureRsColumn], [query <span class="diff-changed-words">primary|#queryPrimary]<span class="diff-deleted-chars"style="color:#999;background-color:#fdd;text-decoration:line-through;">, [select derived column|#selectExpression]</span></span> <br></td></tr>
            <tr><td class="diff-changed-lines" ><span class="diff-added-words"style="background-color: #dfd;">[select derived column|#selectExpression],</span> [set clause list|#setClauseList], [statement|#statement], [call <span class="diff-changed-words">statement|#storedProcedure]<span class="diff-deleted-chars"style="color:#999;background-color:#fdd;text-decoration:line-through;">, [table subquery|#subqueryFromClause]</span></span> <br></td></tr>
            <tr><td class="diff-changed-lines" ><span class="diff-added-words"style="background-color: #dfd;">[table subquery|#subqueryFromClause],</span> [temporary table element|#tableElement], [text aggreate function|#textAgg], [text table <span class="diff-changed-words">column|#textColumn]<span class="diff-deleted-chars"style="color:#999;background-color:#fdd;text-decoration:line-through;">, [text table|#textTable]</span></span> <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">[table name|#unaryFromClause], [update statement|#update], [with list element|#withListElement], [xml table column|#xmlColumn] <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">[text table|#textTable], [table name|#unaryFromClause], [update statement|#update], [with list element|#withListElement] <br></td></tr>
            <tr><td class="diff-changed-lines" >[xml <span class="diff-added-words"style="background-color: #dfd;">table column|#xmlColumn], [xml</span> element|#xmlElement], [xml serialize|#xmlSerialize], [xml table|#xmlTable]|| <br></td></tr>
            <tr><td class="diff-unchanged" >|{anchor:usage_ifStatement}_[if statement|#ifStatement]_|[statement|#statement]|| <br>|{anchor:usage_insert}_[insert statement|#insert]_|[assignment statement operand|#assignStatementOperand], [directly executable statement|#userCommand]|| <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" > <br>h3. {anchor:ifStatement}_[if statement|#usage_ifStatement]_ ::= <br></td></tr>
            <tr><td class="diff-changed-lines" >- |[IF|#token_IF] &lt;[lparen|#token_LPAREN]&gt; <span class="diff-added-words"style="background-color: #dfd;">( ( &lt;[identifier|#id]&gt; [IS|#token_IS] ( [NOT|#token_NOT] )? [DISTINCT|#token_DISTINCT] [FROM|#token_FROM] &lt;[identifier|#id]&gt; ) \|</span> &lt;[condition|#criteria]&gt; <span class="diff-added-words"style="background-color: #dfd;">)</span> &lt;[rparen|#token_RPAREN]&gt; &lt;[statement|#statement]&gt; ( [ELSE|#token_ELSE] &lt;[statement|#statement]&gt; )?|| <br></td></tr>
            <tr><td class="diff-unchanged" > <br>A procedure loop statement that executes over the given cursor. <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
    
            </table>
    </div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <ul class="alternate" type="square">
        <li>Main Entry Points
        <ul class="alternate" type="square">
                <li><a href="#BNFforSQLGrammar-callableStatement">callable statement</a></li>
                <li><a href="#BNFforSQLGrammar-ddlStmt">ddl statement</a></li>
                <li><a href="#BNFforSQLGrammar-procedureBodyCommand">procedure body definition</a></li>
                <li><a href="#BNFforSQLGrammar-userCommand">directly executable statement</a></li>
        </ul>
        </li>
        <li><a href="#BNFforSQLGrammar-headerrk">Reserved Keywords</a></li>
        <li><a href="#BNFforSQLGrammar-headernrk">Non-Reserved Keywords</a></li>
        <li><a href="#BNFforSQLGrammar-headerrkf">Reserved Keywords For Future Use</a></li>
        <li><a href="#BNFforSQLGrammar-headert">Tokens</a></li>
        <li><a href="#BNFforSQLGrammar-headerpcr">Production Cross-Reference</a></li>
        <li><a href="#BNFforSQLGrammar-headerp">Productions</a></li>
</ul>


<h2><a name="BNFforSQLGrammar-ReservedKeywords"></a><a name="BNFforSQLGrammar-headerrk"></a>Reserved Keywords</h2>

<div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'>Keyword</th>
<th class='confluenceTh'>Usage</th>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenADD"></a><em>ADD</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-addSetOption">add set option</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenALL"></a><em>ALL</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-aggregateSymbol">standard aggregate function</a>, <a href="#BNFforSQLGrammar-function">function</a>, <a href="#BNFforSQLGrammar-queryExpressionBody">query expression body</a>, <a href="#BNFforSQLGrammar-queryTerm">query term</a><br/>
<a href="#BNFforSQLGrammar-select">select clause</a>, <a href="#BNFforSQLGrammar-subqueryCompareCriteria">quantified comparison predicate</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenALTER"></a><em>ALTER</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-alter">alter</a>, <a href="#BNFforSQLGrammar-alterColumn">alter column options</a>, <a href="#BNFforSQLGrammar-alterStatement">alter options</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenAND"></a><em>AND</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-betweenCrit">between predicate</a>, <a href="#BNFforSQLGrammar-compoundCritAnd">boolean term</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenANY"></a><em>ANY</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-aggregateSymbol">standard aggregate function</a>, <a href="#BNFforSQLGrammar-subqueryCompareCriteria">quantified comparison predicate</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenARRAYAGG"></a><em>ARRAY_AGG</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-orderedAgg">ordered aggreate function</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenAS"></a><em>AS</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-alter">alter</a>, <a href="#BNFforSQLGrammar-arrayTable">array table</a>, <a href="#BNFforSQLGrammar-createDDLProcedure">create procedure</a>, <a href="#BNFforSQLGrammar-createNameSpace">option namespace</a><br/>
<a href="#BNFforSQLGrammar-createTable">create table</a>, <a href="#BNFforSQLGrammar-createTrigger">create trigger</a>, <a href="#BNFforSQLGrammar-derivedColumn">derived column</a>, <a href="#BNFforSQLGrammar-dynamicCommand">dynamic data statement</a><br/>
<a href="#BNFforSQLGrammar-function">function</a>, <a href="#BNFforSQLGrammar-loopStatement">loop statement</a>, <a href="#BNFforSQLGrammar-namespaceItem">xml namespace element</a>, <a href="#BNFforSQLGrammar-objectTable">object table</a><br/>
<a href="#BNFforSQLGrammar-selectExpression">select derived column</a>, <a href="#BNFforSQLGrammar-subqueryFromClause">table subquery</a>, <a href="#BNFforSQLGrammar-textTable">text table</a>, <a href="#BNFforSQLGrammar-unaryFromClause">table name</a><br/>
<a href="#BNFforSQLGrammar-unescapedFunction">unescapedFunction</a>, <a href="#BNFforSQLGrammar-withListElement">with list element</a>, <a href="#BNFforSQLGrammar-xmlSerialize">xml serialize</a>, <a href="#BNFforSQLGrammar-xmlTable">xml table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenASC"></a><em>ASC</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-sortSpecification">sort specification</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenATOMIC"></a><em>ATOMIC</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-compoundStatement">compound statement</a>, <a href="#BNFforSQLGrammar-forEachRowTriggerAction">for each row trigger action</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenBEGIN"></a><em>BEGIN</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-compoundStatement">compound statement</a>, <a href="#BNFforSQLGrammar-forEachRowTriggerAction">for each row trigger action</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenBETWEEN"></a><em>BETWEEN</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-betweenCrit">between predicate</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenBIGDECIMAL"></a><em>BIGDECIMAL</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenBIGINT"></a><em>BIGINT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenBIGINTEGER"></a><em>BIGINTEGER</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenBLOB"></a><em>BLOB</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a>, <a href="#BNFforSQLGrammar-xmlSerialize">xml serialize</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenBOOLEAN"></a><em>BOOLEAN</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenBOTH"></a><em>BOTH</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenBREAK"></a><em>BREAK</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-branchingStatement">branching statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenBY"></a><em>BY</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-groupBy">group by clause</a>, <a href="#BNFforSQLGrammar-orderby">order by clause</a>, <a href="#BNFforSQLGrammar-windowSpecification">window specification</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenBYTE"></a><em>BYTE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenCALL"></a><em>CALL</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-callableStatement">callable statement</a>, <a href="#BNFforSQLGrammar-storedProcedure">call statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenCASE"></a><em>CASE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-caseExpression">case expression</a>, <a href="#BNFforSQLGrammar-searchedCaseExpression">searched case expression</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenCAST"></a><em>CAST</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenCHAR"></a><em>CHAR</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a>, <a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenCLOB"></a><em>CLOB</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a>, <a href="#BNFforSQLGrammar-xmlSerialize">xml serialize</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenCOLUMN"></a><em>COLUMN</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-alterColumn">alter column options</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenCOMMIT"></a><em>COMMIT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-createTempTable">create temporary table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenCONSTRAINT"></a><em>CONSTRAINT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-createTableBody">create table body</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenCONTINUE"></a><em>CONTINUE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-branchingStatement">branching statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenCONVERT"></a><em>CONVERT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenCREATE"></a><em>CREATE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-createDDLProcedure">create procedure</a>, <a href="#BNFforSQLGrammar-createForeignTempTable">create foreign temp table</a>, <a href="#BNFforSQLGrammar-createTable">create table</a>, <a href="#BNFforSQLGrammar-createTempTable">create temporary table</a><br/>
<a href="#BNFforSQLGrammar-createTrigger">create trigger</a>, <a href="#BNFforSQLGrammar-procedureBodyCommand">procedure body definition</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenCROSS"></a><em>CROSS</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-crossJoin">cross join</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenDATE"></a><em>DATE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenDAY"></a><em>DAY</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenDECIMAL"></a><em>DECIMAL</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenDECLARE"></a><em>DECLARE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-declareStatement">declare statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenDEFAULTKEYWORD"></a><em>DEFAULT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-createColumn">table element</a>, <a href="#BNFforSQLGrammar-namespaceItem">xml namespace element</a>, <a href="#BNFforSQLGrammar-objectColumn">object table column</a>, <a href="#BNFforSQLGrammar-procedureParameter">procedure parameter</a><br/>
<a href="#BNFforSQLGrammar-xmlColumn">xml table column</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenDELETE"></a><em>DELETE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-alter">alter</a>, <a href="#BNFforSQLGrammar-createTrigger">create trigger</a>, <a href="#BNFforSQLGrammar-delete">delete statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenDESC"></a><em>DESC</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-sortSpecification">sort specification</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenDISTINCT"></a><em>DISTINCT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-aggregateSymbol">standard aggregate function</a>, <a href="#BNFforSQLGrammar-function">function</a>, <a href="#BNFforSQLGrammar-ifStatement">if statement</a>, <a href="#BNFforSQLGrammar-queryExpressionBody">query expression body</a><br/>
<a href="#BNFforSQLGrammar-queryTerm">query term</a>, <a href="#BNFforSQLGrammar-select">select clause</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenDOUBLE"></a><em>DOUBLE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenDROP"></a><em>DROP</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-dropOption">drop option</a>, <a href="#BNFforSQLGrammar-dropTable">drop table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenEACH"></a><em>EACH</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-forEachRowTriggerAction">for each row trigger action</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenELSE"></a><em>ELSE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-caseExpression">case expression</a>, <a href="#BNFforSQLGrammar-ifStatement">if statement</a>, <a href="#BNFforSQLGrammar-searchedCaseExpression">searched case expression</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenEND"></a><em>END</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-caseExpression">case expression</a>, <a href="#BNFforSQLGrammar-compoundStatement">compound statement</a>, <a href="#BNFforSQLGrammar-forEachRowTriggerAction">for each row trigger action</a>, <a href="#BNFforSQLGrammar-searchedCaseExpression">searched case expression</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenERROR"></a><em>ERROR</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-errorStatement">raise error statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenESCAPE"></a><em>ESCAPE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-matchCrit">match predicate</a>, <a href="#BNFforSQLGrammar-textTable">text table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenEXCEPT"></a><em>EXCEPT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-queryExpressionBody">query expression body</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenEXEC"></a><em>EXEC</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-dynamicCommand">dynamic data statement</a>, <a href="#BNFforSQLGrammar-storedProcedure">call statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenEXECUTE"></a><em>EXECUTE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-dynamicCommand">dynamic data statement</a>, <a href="#BNFforSQLGrammar-storedProcedure">call statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenEXISTS"></a><em>EXISTS</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-existsCriteria">exists predicate</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenFALSE"></a><em>FALSE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonNumericLiteral">non numeric literal</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenFETCH"></a><em>FETCH</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-fetchLimit">fetch clause</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenFILTER"></a><em>FILTER</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-filterClause">filter clause</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenFLOAT"></a><em>FLOAT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenFOR"></a><em>FOR</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-forEachRowTriggerAction">for each row trigger action</a>, <a href="#BNFforSQLGrammar-function">function</a>, <a href="#BNFforSQLGrammar-textAgg">text aggreate function</a>, <a href="#BNFforSQLGrammar-textColumn">text table column</a><br/>
<a href="#BNFforSQLGrammar-xmlColumn">xml table column</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenFOREIGN"></a><em>FOREIGN</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-alterStatement">alter options</a>, <a href="#BNFforSQLGrammar-createDDLProcedure">create procedure</a>, <a href="#BNFforSQLGrammar-createForeignTempTable">create foreign temp table</a>, <a href="#BNFforSQLGrammar-createTable">create table</a><br/>
<a href="#BNFforSQLGrammar-foreignKey">foreign key</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenFROM"></a><em>FROM</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-delete">delete statement</a>, <a href="#BNFforSQLGrammar-from">from clause</a>, <a href="#BNFforSQLGrammar-function">function</a>, <a href="#BNFforSQLGrammar-ifStatement">if statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenFULL"></a><em>FULL</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-qualifiedJoin">qualified table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenFUNCTION"></a><em>FUNCTION</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-createDDLProcedure">create procedure</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenGEOMETRY"></a><em>GEOMETRY</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenGLOBAL"></a><em>GLOBAL</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-createTable">create table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenGROUP"></a><em>GROUP</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-groupBy">group by clause</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenHAVING"></a><em>HAVING</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-having">having clause</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenHOUR"></a><em>HOUR</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenIF"></a><em>IF</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-ifStatement">if statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenIMMEDIATE"></a><em>IMMEDIATE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-dynamicCommand">dynamic data statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenIN"></a><em>IN</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-procedureParameter">procedure parameter</a>, <a href="#BNFforSQLGrammar-setCrit">in predicate</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenINNER"></a><em>INNER</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-qualifiedJoin">qualified table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenINOUT"></a><em>INOUT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-procedureParameter">procedure parameter</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenINSERT"></a><em>INSERT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-alter">alter</a>, <a href="#BNFforSQLGrammar-createTrigger">create trigger</a>, <a href="#BNFforSQLGrammar-function">function</a>, <a href="#BNFforSQLGrammar-insert">insert statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenINTEGER"></a><em>INTEGER</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenINTERSECT"></a><em>INTERSECT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-queryTerm">query term</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenINTO"></a><em>INTO</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-dynamicCommand">dynamic data statement</a>, <a href="#BNFforSQLGrammar-insert">insert statement</a>, <a href="#BNFforSQLGrammar-into">into clause</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenIS"></a><em>IS</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-ifStatement">if statement</a>, <a href="#BNFforSQLGrammar-isNullCrit">is null predicate</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenJOIN"></a><em>JOIN</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-crossJoin">cross join</a>, <a href="#BNFforSQLGrammar-makedepOptions">make dep options</a>, <a href="#BNFforSQLGrammar-qualifiedJoin">qualified table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenLANGUAGE"></a><em>LANGUAGE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-objectTable">object table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenLATERAL"></a><em>LATERAL</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-subqueryFromClause">table subquery</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenLEADING"></a><em>LEADING</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenLEAVE"></a><em>LEAVE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-branchingStatement">branching statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenLEFT"></a><em>LEFT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a>, <a href="#BNFforSQLGrammar-qualifiedJoin">qualified table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenLIKE"></a><em>LIKE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-matchCrit">match predicate</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenLIKEREGEX"></a><em>LIKE_REGEX</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-regexMatchCrit">like regex predicate</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenLIMIT"></a><em>LIMIT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-limit">limit clause</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenLOCAL"></a><em>LOCAL</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-createForeignTempTable">create foreign temp table</a>, <a href="#BNFforSQLGrammar-createTempTable">create temporary table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenLONG"></a><em>LONG</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenLOOP"></a><em>LOOP</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-loopStatement">loop statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenMAKEDEP"></a><em>MAKEDEP</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-option">option clause</a>, <a href="#BNFforSQLGrammar-tablePrimary">table primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenMAKEIND"></a><em>MAKEIND</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-option">option clause</a>, <a href="#BNFforSQLGrammar-tablePrimary">table primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenMAKENOTDEP"></a><em>MAKENOTDEP</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-option">option clause</a>, <a href="#BNFforSQLGrammar-tablePrimary">table primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenMERGE"></a><em>MERGE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-insert">insert statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenMINUTE"></a><em>MINUTE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenMONTH"></a><em>MONTH</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenNO"></a><em>NO</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-makedepOptions">make dep options</a>, <a href="#BNFforSQLGrammar-namespaceItem">xml namespace element</a>, <a href="#BNFforSQLGrammar-textColumn">text table column</a>, <a href="#BNFforSQLGrammar-textTable">text table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenNOCACHE"></a><em>NOCACHE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-option">option clause</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenNOT"></a><em>NOT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-betweenCrit">between predicate</a>, <a href="#BNFforSQLGrammar-compoundStatement">compound statement</a>, <a href="#BNFforSQLGrammar-createColumn">table element</a>, <a href="#BNFforSQLGrammar-ifStatement">if statement</a><br/>
<a href="#BNFforSQLGrammar-isNullCrit">is null predicate</a>, <a href="#BNFforSQLGrammar-matchCrit">match predicate</a>, <a href="#BNFforSQLGrammar-notCrit">boolean factor</a>, <a href="#BNFforSQLGrammar-procedureParameter">procedure parameter</a><br/>
<a href="#BNFforSQLGrammar-procedureRsColumn">procedure result column</a>, <a href="#BNFforSQLGrammar-regexMatchCrit">like regex predicate</a>, <a href="#BNFforSQLGrammar-setCrit">in predicate</a>, <a href="#BNFforSQLGrammar-tableElement">temporary table element</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenNULL"></a><em>NULL</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-createColumn">table element</a>, <a href="#BNFforSQLGrammar-isNullCrit">is null predicate</a>, <a href="#BNFforSQLGrammar-nonNumericLiteral">non numeric literal</a>, <a href="#BNFforSQLGrammar-procedureParameter">procedure parameter</a><br/>
<a href="#BNFforSQLGrammar-procedureRsColumn">procedure result column</a>, <a href="#BNFforSQLGrammar-tableElement">temporary table element</a>, <a href="#BNFforSQLGrammar-xmlQuery">xml query</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenOBJECT"></a><em>OBJECT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenOF"></a><em>OF</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-alter">alter</a>, <a href="#BNFforSQLGrammar-createTrigger">create trigger</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenOFFSET"></a><em>OFFSET</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-limit">limit clause</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenON"></a><em>ON</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-alter">alter</a>, <a href="#BNFforSQLGrammar-createForeignTempTable">create foreign temp table</a>, <a href="#BNFforSQLGrammar-createTempTable">create temporary table</a>, <a href="#BNFforSQLGrammar-createTrigger">create trigger</a><br/>
<a href="#BNFforSQLGrammar-loopStatement">loop statement</a>, <a href="#BNFforSQLGrammar-qualifiedJoin">qualified table</a>, <a href="#BNFforSQLGrammar-xmlQuery">xml query</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenONLY"></a><em>ONLY</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-fetchLimit">fetch clause</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenOPTION"></a><em>OPTION</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-option">option clause</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenOPTIONS"></a><em>OPTIONS</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-alterOptionsList">alter options list</a>, <a href="#BNFforSQLGrammar-optionsClause">options clause</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenOR"></a><em>OR</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-compoundCritOr">boolean value expression</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenORDER"></a><em>ORDER</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-orderby">order by clause</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenOUT"></a><em>OUT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-procedureParameter">procedure parameter</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenOUTER"></a><em>OUTER</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-qualifiedJoin">qualified table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenOVER"></a><em>OVER</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-windowSpecification">window specification</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenPARAMETER"></a><em>PARAMETER</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-alterColumn">alter column options</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenPARTITION"></a><em>PARTITION</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-windowSpecification">window specification</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenPRIMARY"></a><em>PRIMARY</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-createColumn">table element</a>, <a href="#BNFforSQLGrammar-createTempTable">create temporary table</a>, <a href="#BNFforSQLGrammar-primaryKey">primary key</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenPROCEDURE"></a><em>PROCEDURE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-alter">alter</a>, <a href="#BNFforSQLGrammar-alterStatement">alter options</a>, <a href="#BNFforSQLGrammar-createDDLProcedure">create procedure</a>, <a href="#BNFforSQLGrammar-procedureBodyCommand">procedure body definition</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenREAL"></a><em>REAL</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenREFERENCES"></a><em>REFERENCES</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-foreignKey">foreign key</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenRETURN"></a><em>RETURN</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-assignStatement">assignment statement</a>, <a href="#BNFforSQLGrammar-returnStatement">return statement</a>, <a href="#BNFforSQLGrammar-sqlStatement">data statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenRETURNS"></a><em>RETURNS</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-createDDLProcedure">create procedure</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenRIGHT"></a><em>RIGHT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a>, <a href="#BNFforSQLGrammar-qualifiedJoin">qualified table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenROLLUP"></a><em>ROLLUP</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-groupBy">group by clause</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenROW"></a><em>ROW</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-fetchLimit">fetch clause</a>, <a href="#BNFforSQLGrammar-forEachRowTriggerAction">for each row trigger action</a>, <a href="#BNFforSQLGrammar-limit">limit clause</a>, <a href="#BNFforSQLGrammar-textTable">text table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenROWS"></a><em>ROWS</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-createTempTable">create temporary table</a>, <a href="#BNFforSQLGrammar-fetchLimit">fetch clause</a>, <a href="#BNFforSQLGrammar-limit">limit clause</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSECOND"></a><em>SECOND</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSELECT"></a><em>SELECT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-select">select clause</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSET"></a><em>SET</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-addSetOption">add set option</a>, <a href="#BNFforSQLGrammar-createNameSpace">option namespace</a>, <a href="#BNFforSQLGrammar-update">update statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSHORT"></a><em>SHORT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSIMILAR"></a><em>SIMILAR</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-matchCrit">match predicate</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSMALLINT"></a><em>SMALLINT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSOME"></a><em>SOME</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-aggregateSymbol">standard aggregate function</a>, <a href="#BNFforSQLGrammar-subqueryCompareCriteria">quantified comparison predicate</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSQLEXCEPTION"></a><em>SQLEXCEPTION</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-exception">sql exception</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSQLSTATE"></a><em>SQLSTATE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-exception">sql exception</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSQLWARNING"></a><em>SQLWARNING</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-raiseStatement">raise statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSTRING"></a><em>STRING</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-dynamicCommand">dynamic data statement</a>, <a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a>, <a href="#BNFforSQLGrammar-xmlSerialize">xml serialize</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenTABLE"></a><em>TABLE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-alterStatement">alter options</a>, <a href="#BNFforSQLGrammar-createDDLProcedure">create procedure</a>, <a href="#BNFforSQLGrammar-createForeignTempTable">create foreign temp table</a>, <a href="#BNFforSQLGrammar-createTable">create table</a><br/>
<a href="#BNFforSQLGrammar-createTempTable">create temporary table</a>, <a href="#BNFforSQLGrammar-dropTable">drop table</a>, <a href="#BNFforSQLGrammar-queryPrimary">query primary</a>, <a href="#BNFforSQLGrammar-subqueryFromClause">table subquery</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenTEMPORARY"></a><em>TEMPORARY</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-createForeignTempTable">create foreign temp table</a>, <a href="#BNFforSQLGrammar-createTable">create table</a>, <a href="#BNFforSQLGrammar-createTempTable">create temporary table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenTHEN"></a><em>THEN</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-caseExpression">case expression</a>, <a href="#BNFforSQLGrammar-searchedCaseExpression">searched case expression</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenTIME"></a><em>TIME</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenTIMESTAMP"></a><em>TIMESTAMP</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenTINYINT"></a><em>TINYINT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenTO"></a><em>TO</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-matchCrit">match predicate</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenTRAILING"></a><em>TRAILING</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenTRANSLATE"></a><em>TRANSLATE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenTRIGGER"></a><em>TRIGGER</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-alter">alter</a>, <a href="#BNFforSQLGrammar-createTrigger">create trigger</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenTRUE"></a><em>TRUE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonNumericLiteral">non numeric literal</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenUNION"></a><em>UNION</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-crossJoin">cross join</a>, <a href="#BNFforSQLGrammar-queryExpressionBody">query expression body</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenUNIQUE"></a><em>UNIQUE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-constraint">other constraints</a>, <a href="#BNFforSQLGrammar-createColumn">table element</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenUNKNOWN"></a><em>UNKNOWN</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonNumericLiteral">non numeric literal</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenUPDATE"></a><em>UPDATE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-alter">alter</a>, <a href="#BNFforSQLGrammar-createTrigger">create trigger</a>, <a href="#BNFforSQLGrammar-dynamicCommand">dynamic data statement</a>, <a href="#BNFforSQLGrammar-update">update statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenUSER"></a><em>USER</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenUSING"></a><em>USING</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-dynamicCommand">dynamic data statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenVALUES"></a><em>VALUES</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-queryPrimary">query primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenVARBINARY"></a><em>VARBINARY</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a>, <a href="#BNFforSQLGrammar-xmlSerialize">xml serialize</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenVARCHAR"></a><em>VARCHAR</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a>, <a href="#BNFforSQLGrammar-xmlSerialize">xml serialize</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenVIRTUAL"></a><em>VIRTUAL</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-alterStatement">alter options</a>, <a href="#BNFforSQLGrammar-createDDLProcedure">create procedure</a>, <a href="#BNFforSQLGrammar-createTable">create table</a>, <a href="#BNFforSQLGrammar-procedureBodyCommand">procedure body definition</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenWHEN"></a><em>WHEN</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-caseExpression">case expression</a>, <a href="#BNFforSQLGrammar-searchedCaseExpression">searched case expression</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenWHERE"></a><em>WHERE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-filterClause">filter clause</a>, <a href="#BNFforSQLGrammar-where">where clause</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenWHILE"></a><em>WHILE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-whileStatement">while statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenWITH"></a><em>WITH</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-assignStatement">assignment statement</a>, <a href="#BNFforSQLGrammar-queryExpression">query expression</a>, <a href="#BNFforSQLGrammar-sqlStatement">data statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenWITHOUT"></a><em>WITHOUT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-assignStatement">assignment statement</a>, <a href="#BNFforSQLGrammar-sqlStatement">data statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenXML"></a><em>XML</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenXMLAGG"></a><em>XMLAGG</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-orderedAgg">ordered aggreate function</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenXMLATTRIBUTES"></a><em>XMLATTRIBUTES</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-xmlAttributes">xml attributes</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenXMLCAST"></a><em>XMLCAST</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-unescapedFunction">unescapedFunction</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenXMLCOMMENT"></a><em>XMLCOMMENT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenXMLCONCAT"></a><em>XMLCONCAT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenXMLELEMENT"></a><em>XMLELEMENT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-xmlElement">xml element</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenXMLEXISTS"></a><em>XMLEXISTS</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-xmlExists">xml query</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenXMLFOREST"></a><em>XMLFOREST</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-xmlForest">xml forest</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenXMLNAMESPACES"></a><em>XMLNAMESPACES</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-xmlNamespaces">xml namespaces</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenXMLPARSE"></a><em>XMLPARSE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-xmlParse">xml parse</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenXMLPI"></a><em>XMLPI</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenXMLQUERY"></a><em>XMLQUERY</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-xmlQuery">xml query</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenXMLSERIALIZE"></a><em>XMLSERIALIZE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-xmlSerialize">xml serialize</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenXMLTABLE"></a><em>XMLTABLE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-xmlTable">xml table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenXMLTEXT"></a><em>XMLTEXT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenYEAR"></a><em>YEAR</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a></td>
</tr>
</tbody></table>
</div>

<h2><a name="BNFforSQLGrammar-NonReservedKeywords"></a><a name="BNFforSQLGrammar-headernrk"></a>Non-Reserved Keywords</h2>

<div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'>Keyword</th>
<th class='confluenceTh'>Usage</th>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenACCESSPATTERN"></a><em>ACCESSPATTERN</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-constraint">other constraints</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenARRAYTABLE"></a><em>ARRAYTABLE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-arrayTable">array table</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenAUTOINCREMENT"></a><em>AUTO_INCREMENT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-createColumn">table element</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenAVG"></a><em>AVG</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-aggregateSymbol">standard aggregate function</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenCHAIN"></a><em>CHAIN</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-exception">sql exception</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenCOLUMNS"></a><em>COLUMNS</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-arrayTable">array table</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-objectTable">object table</a>, <a href="#BNFforSQLGrammar-textTable">text table</a><br/>
<a href="#BNFforSQLGrammar-xmlTable">xml table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenCONTENT"></a><em>CONTENT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-xmlParse">xml parse</a>, <a href="#BNFforSQLGrammar-xmlSerialize">xml serialize</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenCOUNT"></a><em>COUNT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-aggregateSymbol">standard aggregate function</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenDELIMITER"></a><em>DELIMITER</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-textAgg">text aggreate function</a>, <a href="#BNFforSQLGrammar-textTable">text table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenDENSERANK"></a><em>DENSE_RANK</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-analyticAggregateSymbol">analytic aggregate function</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenDISABLED"></a><em>DISABLED</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-alter">alter</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenDOCUMENT"></a><em>DOCUMENT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-xmlParse">xml parse</a>, <a href="#BNFforSQLGrammar-xmlSerialize">xml serialize</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenEMPTY"></a><em>EMPTY</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-xmlQuery">xml query</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenENABLED"></a><em>ENABLED</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-alter">alter</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenENCODING"></a><em>ENCODING</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-textAgg">text aggreate function</a>, <a href="#BNFforSQLGrammar-xmlSerialize">xml serialize</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenEVERY"></a><em>EVERY</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-aggregateSymbol">standard aggregate function</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenEXCEPTION"></a><em>EXCEPTION</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-compoundStatement">compound statement</a>, <a href="#BNFforSQLGrammar-declareStatement">declare statement</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenEXCLUDING"></a><em>EXCLUDING</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-xmlSerialize">xml serialize</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenEXTRACT"></a><em>EXTRACT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenFIRST"></a><em>FIRST</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-fetchLimit">fetch clause</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-sortSpecification">sort specification</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenHEADER"></a><em>HEADER</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-textAgg">text aggreate function</a>, <a href="#BNFforSQLGrammar-textColumn">text table column</a>, <a href="#BNFforSQLGrammar-textTable">text table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenINCLUDING"></a><em>INCLUDING</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-xmlSerialize">xml serialize</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenINDEX"></a><em>INDEX</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-constraint">other constraints</a>, <a href="#BNFforSQLGrammar-createColumn">table element</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenINSTEAD"></a><em>INSTEAD</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-alter">alter</a>, <a href="#BNFforSQLGrammar-createTrigger">create trigger</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenJSONARRAYAGG"></a><em>JSONARRAY_AGG</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-orderedAgg">ordered aggreate function</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenJSONOBJECT"></a><em>JSONOBJECT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-jsonObject">json object</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenKEY"></a><em>KEY</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-createColumn">table element</a>, <a href="#BNFforSQLGrammar-createTempTable">create temporary table</a>, <a href="#BNFforSQLGrammar-foreignKey">foreign key</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a><br/>
<a href="#BNFforSQLGrammar-primaryKey">primary key</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenLAST"></a><em>LAST</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-sortSpecification">sort specification</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenMAX"></a><em>MAX</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-aggregateSymbol">standard aggregate function</a>, <a href="#BNFforSQLGrammar-makedepOptions">make dep options</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenMIN"></a><em>MIN</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-aggregateSymbol">standard aggregate function</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenNAME"></a><em>NAME</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-xmlElement">xml element</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenNAMESPACE"></a><em>NAMESPACE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-createNameSpace">option namespace</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenNEXT"></a><em>NEXT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-fetchLimit">fetch clause</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenNULLS"></a><em>NULLS</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-sortSpecification">sort specification</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenOBJECTTABLE"></a><em>OBJECTTABLE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-objectTable">object table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenORDINALITY"></a><em>ORDINALITY</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-textColumn">text table column</a>, <a href="#BNFforSQLGrammar-xmlColumn">xml table column</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenPASSING"></a><em>PASSING</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-objectTable">object table</a>, <a href="#BNFforSQLGrammar-xmlExists">xml query</a>, <a href="#BNFforSQLGrammar-xmlQuery">xml query</a><br/>
<a href="#BNFforSQLGrammar-xmlTable">xml table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenPATH"></a><em>PATH</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-xmlColumn">xml table column</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenPRESERVE"></a><em>PRESERVE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-createTempTable">create temporary table</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenQUERYSTRING"></a><em>QUERYSTRING</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-queryString">querystring function</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenQUOTE"></a><em>QUOTE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-textAgg">text aggreate function</a>, <a href="#BNFforSQLGrammar-textTable">text table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenRAISE"></a><em>RAISE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-raiseStatement">raise statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenRANK"></a><em>RANK</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-analyticAggregateSymbol">analytic aggregate function</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenRESULT"></a><em>RESULT</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-procedureParameter">procedure parameter</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenROWNUMBER"></a><em>ROW_NUMBER</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-analyticAggregateSymbol">analytic aggregate function</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSELECTOR"></a><em>SELECTOR</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-textColumn">text table column</a>, <a href="#BNFforSQLGrammar-textTable">text table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSERIAL"></a><em>SERIAL</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-createColumn">table element</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-tableElement">temporary table element</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSKIPKEYWORD"></a><em>SKIP</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-textTable">text table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSQLTSIDAY"></a><em>SQL_TSI_DAY</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-intervalType">time interval</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSQLTSIFRACSECOND"></a><em>SQL_TSI_FRAC_SECOND</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-intervalType">time interval</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSQLTSIHOUR"></a><em>SQL_TSI_HOUR</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-intervalType">time interval</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSQLTSIMINUTE"></a><em>SQL_TSI_MINUTE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-intervalType">time interval</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSQLTSIMONTH"></a><em>SQL_TSI_MONTH</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-intervalType">time interval</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSQLTSIQUARTER"></a><em>SQL_TSI_QUARTER</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-intervalType">time interval</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSQLTSISECOND"></a><em>SQL_TSI_SECOND</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-intervalType">time interval</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSQLTSIWEEK"></a><em>SQL_TSI_WEEK</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-intervalType">time interval</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSQLTSIYEAR"></a><em>SQL_TSI_YEAR</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-intervalType">time interval</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSTDDEVPOP"></a><em>STDDEV_POP</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-aggregateSymbol">standard aggregate function</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSTDDEVSAMP"></a><em>STDDEV_SAMP</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-aggregateSymbol">standard aggregate function</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSUBSTRING"></a><em>SUBSTRING</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSUM"></a><em>SUM</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-aggregateSymbol">standard aggregate function</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenTEXTAGG"></a><em>TEXTAGG</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-textAgg">text aggreate function</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenTEXTTABLE"></a><em>TEXTTABLE</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-textTable">text table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenTIMESTAMPADD"></a><em>TIMESTAMPADD</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenTIMESTAMPDIFF"></a><em>TIMESTAMPDIFF</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenTOBYTES"></a><em>TO_BYTES</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenTOCHARS"></a><em>TO_CHARS</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenTRIM"></a><em>TRIM</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-textColumn">text table column</a>, <a href="#BNFforSQLGrammar-textTable">text table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenVARIADIC"></a><em>VARIADIC</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-procedureParameter">procedure parameter</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenVARPOP"></a><em>VAR_POP</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-aggregateSymbol">standard aggregate function</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenVARSAMP"></a><em>VAR_SAMP</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-aggregateSymbol">standard aggregate function</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenVERSION"></a><em>VERSION</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-xmlSerialize">xml serialize</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenVIEW"></a><em>VIEW</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-alter">alter</a>, <a href="#BNFforSQLGrammar-alterStatement">alter options</a>, <a href="#BNFforSQLGrammar-createTable">create table</a>, <a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenWELLFORMED"></a><em>WELLFORMED</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-xmlParse">xml parse</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenWIDTH"></a><em>WIDTH</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-textColumn">text table column</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenXMLDECLARATION"></a><em>XMLDECLARATION</em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>, <a href="#BNFforSQLGrammar-xmlSerialize">xml serialize</a></td>
</tr>
</tbody></table>
</div>

<h2><a name="BNFforSQLGrammar-ReservedKeywordsForFutureUse"></a><a name="BNFforSQLGrammar-headerrkf"></a>Reserved Keywords For Future Use</h2>
<div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>ALLOCATE</td>
<td class='confluenceTd'>ARE</td>
<td class='confluenceTd'>ARRAY</td>
<td class='confluenceTd'>ASENSITIVE</td>
<td class='confluenceTd'>ASYMETRIC</td>
<td class='confluenceTd'>AUTHORIZATION</td>
<td class='confluenceTd'>BINARY</td>
<td class='confluenceTd'>CALLED</td>
</tr>
<tr>
<td class='confluenceTd'>CASCADED</td>
<td class='confluenceTd'>CHARACTER</td>
<td class='confluenceTd'>CHECK</td>
<td class='confluenceTd'>CLOSE</td>
<td class='confluenceTd'>COLLATE</td>
<td class='confluenceTd'>CONNECT</td>
<td class='confluenceTd'>CORRESPONDING</td>
<td class='confluenceTd'>CRITERIA</td>
</tr>
<tr>
<td class='confluenceTd'>CURRENT_DATE</td>
<td class='confluenceTd'>CURRENT_TIME</td>
<td class='confluenceTd'>CURRENT_TIMESTAMP</td>
<td class='confluenceTd'>CURRENT_USER</td>
<td class='confluenceTd'>CURSOR</td>
<td class='confluenceTd'>CYCLE</td>
<td class='confluenceTd'>DATALINK</td>
<td class='confluenceTd'>DEALLOCATE</td>
</tr>
<tr>
<td class='confluenceTd'>DEC</td>
<td class='confluenceTd'>DEREF</td>
<td class='confluenceTd'>DESCRIBE</td>
<td class='confluenceTd'>DETERMINISTIC</td>
<td class='confluenceTd'>DISCONNECT</td>
<td class='confluenceTd'>DLNEWCOPY</td>
<td class='confluenceTd'>DLPREVIOUSCOPY</td>
<td class='confluenceTd'>DLURLCOMPLETE</td>
</tr>
<tr>
<td class='confluenceTd'>DLURLCOMPLETEONLY</td>
<td class='confluenceTd'>DLURLCOMPLETEWRITE</td>
<td class='confluenceTd'>DLURLPATH</td>
<td class='confluenceTd'>DLURLPATHONLY</td>
<td class='confluenceTd'>DLURLPATHWRITE</td>
<td class='confluenceTd'>DLURLSCHEME</td>
<td class='confluenceTd'>DLURLSERVER</td>
<td class='confluenceTd'>DLVALUE</td>
</tr>
<tr>
<td class='confluenceTd'>DYNAMIC</td>
<td class='confluenceTd'>ELEMENT</td>
<td class='confluenceTd'>EXTERNAL</td>
<td class='confluenceTd'>FREE</td>
<td class='confluenceTd'>GET</td>
<td class='confluenceTd'>GRANT</td>
<td class='confluenceTd'>HAS</td>
<td class='confluenceTd'>HOLD</td>
</tr>
<tr>
<td class='confluenceTd'>IDENTITY</td>
<td class='confluenceTd'>IMPORT</td>
<td class='confluenceTd'>INDICATOR</td>
<td class='confluenceTd'>INPUT</td>
<td class='confluenceTd'>INSENSITIVE</td>
<td class='confluenceTd'>INT</td>
<td class='confluenceTd'>INTERVAL</td>
<td class='confluenceTd'>ISOLATION</td>
</tr>
<tr>
<td class='confluenceTd'>LARGE</td>
<td class='confluenceTd'>LOCALTIME</td>
<td class='confluenceTd'>LOCALTIMESTAMP</td>
<td class='confluenceTd'>MATCH</td>
<td class='confluenceTd'>MEMBER</td>
<td class='confluenceTd'>METHOD</td>
<td class='confluenceTd'>MODIFIES</td>
<td class='confluenceTd'>MODULE</td>
</tr>
<tr>
<td class='confluenceTd'>MULTISET</td>
<td class='confluenceTd'>NATIONAL</td>
<td class='confluenceTd'>NATURAL</td>
<td class='confluenceTd'>NCHAR</td>
<td class='confluenceTd'>NCLOB</td>
<td class='confluenceTd'>NEW</td>
<td class='confluenceTd'>NONE</td>
<td class='confluenceTd'>NUMERIC</td>
</tr>
<tr>
<td class='confluenceTd'>OLD</td>
<td class='confluenceTd'>OPEN</td>
<td class='confluenceTd'>OUTPUT</td>
<td class='confluenceTd'>OVERLAPS</td>
<td class='confluenceTd'>PRECISION</td>
<td class='confluenceTd'>PREPARE</td>
<td class='confluenceTd'>RANGE</td>
<td class='confluenceTd'>READS</td>
</tr>
<tr>
<td class='confluenceTd'>RECURSIVE</td>
<td class='confluenceTd'>REFERENCING</td>
<td class='confluenceTd'>RELEASE</td>
<td class='confluenceTd'>REVOKE</td>
<td class='confluenceTd'>ROLLBACK</td>
<td class='confluenceTd'>SAVEPOINT</td>
<td class='confluenceTd'>SCROLL</td>
<td class='confluenceTd'>SEARCH</td>
</tr>
<tr>
<td class='confluenceTd'>SENSITIVE</td>
<td class='confluenceTd'>SESSION_USER</td>
<td class='confluenceTd'>SPECIFIC</td>
<td class='confluenceTd'>SPECIFICTYPE</td>
<td class='confluenceTd'>SQL</td>
<td class='confluenceTd'>START</td>
<td class='confluenceTd'>STATIC</td>
<td class='confluenceTd'>SUBMULTILIST</td>
</tr>
<tr>
<td class='confluenceTd'>SYMETRIC</td>
<td class='confluenceTd'>SYSTEM</td>
<td class='confluenceTd'>SYSTEM_USER</td>
<td class='confluenceTd'>TIMEZONE_HOUR</td>
<td class='confluenceTd'>TIMEZONE_MINUTE</td>
<td class='confluenceTd'>TRANSLATION</td>
<td class='confluenceTd'>TREAT</td>
<td class='confluenceTd'>VALUE</td>
</tr>
<tr>
<td class='confluenceTd'>VARYING</td>
<td class='confluenceTd'>WHENEVER</td>
<td class='confluenceTd'>WINDOW</td>
<td class='confluenceTd'>WITHIN</td>
<td class='confluenceTd'>XMLBINARY</td>
<td class='confluenceTd'>XMLDOCUMENT</td>
<td class='confluenceTd'>XMLITERATE</td>
<td class='confluenceTd'>XMLVALIDATE</td>
</tr>
</tbody></table>
</div>


<h2><a name="BNFforSQLGrammar-Tokens"></a><a name="BNFforSQLGrammar-headert"></a>Tokens</h2>

<div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'>Name</th>
<th class='confluenceTh'>Definition</th>
<th class='confluenceTh'>Usage</th>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenALLINGROUP"></a><em>all in group identifier</em></td>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tokenID">identifier</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenPERIOD">period</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenSTAR">star</a>&gt;</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-allInGroupSymbol">all in group </a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenBINARYSTRINGVAL"></a><em>binary string literal</em></td>
<td class='confluenceTd'>"X" &#124; "x" "\'" (&lt;<a href="#BNFforSQLGrammar-tokenHEXIT">hexit</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenHEXIT">hexit</a>&gt;)+ "\'"</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonNumericLiteral">non numeric literal</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenCOLON"></a><em>colon</em></td>
<td class='confluenceTd'>":"</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-makedepOptions">make dep options</a>, <a href="#BNFforSQLGrammar-statement">statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenCOMMA"></a><em>comma</em></td>
<td class='confluenceTd'>","</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-alterOptionsList">alter options list</a>, <a href="#BNFforSQLGrammar-columnList">column list</a>, <a href="#BNFforSQLGrammar-createDDLProcedure">create procedure</a>, <a href="#BNFforSQLGrammar-createElementsWithTypes">typed element list</a><br/>
<a href="#BNFforSQLGrammar-createTableBody">create table body</a>, <a href="#BNFforSQLGrammar-createTempTable">create temporary table</a>, <a href="#BNFforSQLGrammar-derivedColumnList">derived column list</a>, <a href="#BNFforSQLGrammar-exception">sql exception</a><br/>
<a href="#BNFforSQLGrammar-executeNamedParams">named parameter list</a>, <a href="#BNFforSQLGrammar-expressionList">expression list</a>, <a href="#BNFforSQLGrammar-from">from clause</a>, <a href="#BNFforSQLGrammar-function">function</a><br/>
<a href="#BNFforSQLGrammar-limit">limit clause</a>, <a href="#BNFforSQLGrammar-nestedExpression">nested expression</a>, <a href="#BNFforSQLGrammar-objectTable">object table</a>, <a href="#BNFforSQLGrammar-option">option clause</a><br/>
<a href="#BNFforSQLGrammar-optionsClause">options clause</a>, <a href="#BNFforSQLGrammar-orderby">order by clause</a>, <a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a>, <a href="#BNFforSQLGrammar-queryExpression">query expression</a><br/>
<a href="#BNFforSQLGrammar-queryPrimary">query primary</a>, <a href="#BNFforSQLGrammar-queryString">querystring function</a>, <a href="#BNFforSQLGrammar-select">select clause</a>, <a href="#BNFforSQLGrammar-setClauseList">set clause list</a><br/>
<a href="#BNFforSQLGrammar-setCrit">in predicate</a>, <a href="#BNFforSQLGrammar-textAgg">text aggreate function</a>, <a href="#BNFforSQLGrammar-textTable">text table</a>, <a href="#BNFforSQLGrammar-xmlAttributes">xml attributes</a><br/>
<a href="#BNFforSQLGrammar-xmlElement">xml element</a>, <a href="#BNFforSQLGrammar-xmlExists">xml query</a>, <a href="#BNFforSQLGrammar-xmlForest">xml forest</a>, <a href="#BNFforSQLGrammar-xmlNamespaces">xml namespaces</a><br/>
<a href="#BNFforSQLGrammar-xmlQuery">xml query</a>, <a href="#BNFforSQLGrammar-xmlTable">xml table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenCONCATOP"></a><em>concat_op</em></td>
<td class='confluenceTd'>"&#124;&#124;"</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-commonValueExpression">common value expression</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenDECIMALVAL"></a><em>decimal numeric literal</em></td>
<td class='confluenceTd'>(&lt;<a href="#BNFforSQLGrammar-tokenDIGIT">digit</a>&gt;)* &lt;<a href="#BNFforSQLGrammar-tokenPERIOD">period</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenUNSIGNEDINTEGER">unsigned integer literal</a>&gt;</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-unsignedNumericLiteral">unsigned numeric literal</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenDIGIT"></a><em>digit</em></td>
<td class='confluenceTd'>["0"&#45;"9"]</td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenDOLLAR"></a><em>dollar</em></td>
<td class='confluenceTd'>"$"</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-parameterReference">parameter reference</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenEQ"></a><em>eq</em></td>
<td class='confluenceTd'>"="</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-assignStatement">assignment statement</a>, <a href="#BNFforSQLGrammar-callableStatement">callable statement</a>, <a href="#BNFforSQLGrammar-declareStatement">declare statement</a>, <a href="#BNFforSQLGrammar-executeNamedParams">named parameter list</a><br/>
<a href="#BNFforSQLGrammar-operator">comparison operator</a>, <a href="#BNFforSQLGrammar-setClauseList">set clause list</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenESCAPEDFUNCTION"></a><em>escaped function</em></td>
<td class='confluenceTd'>"{" "fn"</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-unsignedValueExpressionPrimary">unsigned value expression primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenESCAPEDJOIN"></a><em>escaped join</em></td>
<td class='confluenceTd'>"{" "oj"</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tableReference">table reference</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenESCAPEDTYPE"></a><em>escaped type</em></td>
<td class='confluenceTd'>"{" ("d" &#124; "t" &#124; "ts" &#124; "b")</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-nonNumericLiteral">non numeric literal</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenFLOATVAL"></a><em>approximate numeric literal</em></td>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tokenDIGIT">digit</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenPERIOD">period</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenUNSIGNEDINTEGER">unsigned integer literal</a>&gt; ["e","E"] (&lt;<a href="#BNFforSQLGrammar-tokenPLUS">plus</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-tokenMINUS">minus</a>&gt;)? &lt;<a href="#BNFforSQLGrammar-tokenUNSIGNEDINTEGER">unsigned integer literal</a>&gt;</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-unsignedNumericLiteral">unsigned numeric literal</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenGE"></a><em>ge</em></td>
<td class='confluenceTd'>"&gt;="</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-operator">comparison operator</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenGT"></a><em>gt</em></td>
<td class='confluenceTd'>"&gt;"</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-executeNamedParams">named parameter list</a>, <a href="#BNFforSQLGrammar-operator">comparison operator</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenHEXIT"></a><em>hexit</em></td>
<td class='confluenceTd'>["a"&#45;"f","A"&#45;"F"] &#124; &lt;<a href="#BNFforSQLGrammar-tokenDIGIT">digit</a>&gt;</td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenID"></a><em>identifier</em></td>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tokenQUOTEDID">quoted_id</a>&gt; (&lt;<a href="#BNFforSQLGrammar-tokenPERIOD">period</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenQUOTEDID">quoted_id</a>&gt;)*</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-id">identifier</a>, <a href="#BNFforSQLGrammar-unsignedValueExpressionPrimary">unsigned value expression primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenIDPART"></a><em>id_part</em></td>
<td class='confluenceTd'>("@" &#124; "#" &#124; &lt;<a href="#BNFforSQLGrammar-tokenLETTER">letter</a>&gt;) (&lt;<a href="#BNFforSQLGrammar-tokenLETTER">letter</a>&gt; &#124; "_" &#124; &lt;<a href="#BNFforSQLGrammar-tokenDIGIT">digit</a>&gt;)*</td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenLBRACE"></a><em>lbrace</em></td>
<td class='confluenceTd'>"{"</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-callableStatement">callable statement</a>, <a href="#BNFforSQLGrammar-matchCrit">match predicate</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenLE"></a><em>le</em></td>
<td class='confluenceTd'>"&lt;="</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-operator">comparison operator</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenLETTER"></a><em>letter</em></td>
<td class='confluenceTd'>["a"&#45;"z","A"&#45;"Z"] &#124; ["\u0153"&#45;"\ufffd"]</td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenLPAREN"></a><em>lparen</em></td>
<td class='confluenceTd'>"("</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-aggregateSymbol">standard aggregate function</a>, <a href="#BNFforSQLGrammar-alterOptionsList">alter options list</a>, <a href="#BNFforSQLGrammar-analyticAggregateSymbol">analytic aggregate function</a>, <a href="#BNFforSQLGrammar-arrayTable">array table</a><br/>
<a href="#BNFforSQLGrammar-callableStatement">callable statement</a>, <a href="#BNFforSQLGrammar-columnList">column list</a>, <a href="#BNFforSQLGrammar-constraint">other constraints</a>, <a href="#BNFforSQLGrammar-createDDLProcedure">create procedure</a><br/>
<a href="#BNFforSQLGrammar-createTableBody">create table body</a>, <a href="#BNFforSQLGrammar-createTempTable">create temporary table</a>, <a href="#BNFforSQLGrammar-filterClause">filter clause</a>, <a href="#BNFforSQLGrammar-function">function</a><br/>
<a href="#BNFforSQLGrammar-groupBy">group by clause</a>, <a href="#BNFforSQLGrammar-ifStatement">if statement</a>, <a href="#BNFforSQLGrammar-jsonObject">json object</a>, <a href="#BNFforSQLGrammar-loopStatement">loop statement</a><br/>
<a href="#BNFforSQLGrammar-makedepOptions">make dep options</a>, <a href="#BNFforSQLGrammar-nestedExpression">nested expression</a>, <a href="#BNFforSQLGrammar-objectTable">object table</a>, <a href="#BNFforSQLGrammar-optionsClause">options clause</a><br/>
<a href="#BNFforSQLGrammar-orderedAgg">ordered aggreate function</a>, <a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a>, <a href="#BNFforSQLGrammar-queryPrimary">query primary</a>, <a href="#BNFforSQLGrammar-queryString">querystring function</a><br/>
<a href="#BNFforSQLGrammar-setCrit">in predicate</a>, <a href="#BNFforSQLGrammar-storedProcedure">call statement</a>, <a href="#BNFforSQLGrammar-subquery">subquery</a>, <a href="#BNFforSQLGrammar-subqueryFromClause">table subquery</a><br/>
<a href="#BNFforSQLGrammar-tablePrimary">table primary</a>, <a href="#BNFforSQLGrammar-textAgg">text aggreate function</a>, <a href="#BNFforSQLGrammar-textTable">text table</a>, <a href="#BNFforSQLGrammar-unescapedFunction">unescapedFunction</a><br/>
<a href="#BNFforSQLGrammar-whileStatement">while statement</a>, <a href="#BNFforSQLGrammar-windowSpecification">window specification</a>, <a href="#BNFforSQLGrammar-withListElement">with list element</a>, <a href="#BNFforSQLGrammar-xmlAttributes">xml attributes</a><br/>
<a href="#BNFforSQLGrammar-xmlElement">xml element</a>, <a href="#BNFforSQLGrammar-xmlExists">xml query</a>, <a href="#BNFforSQLGrammar-xmlForest">xml forest</a>, <a href="#BNFforSQLGrammar-xmlNamespaces">xml namespaces</a><br/>
<a href="#BNFforSQLGrammar-xmlParse">xml parse</a>, <a href="#BNFforSQLGrammar-xmlQuery">xml query</a>, <a href="#BNFforSQLGrammar-xmlSerialize">xml serialize</a>, <a href="#BNFforSQLGrammar-xmlTable">xml table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenLSBRACE"></a><em>lsbrace</em></td>
<td class='confluenceTd'>"["</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-parseDataType">data type</a>, <a href="#BNFforSQLGrammar-valueExpressionPrimary">value expression primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenLT"></a><em>lt</em></td>
<td class='confluenceTd'>"&lt;"</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-operator">comparison operator</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenMINUS"></a><em>minus</em></td>
<td class='confluenceTd'>"&#45;"</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-plusMinus">plus or minus</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenNE"></a><em>ne</em></td>
<td class='confluenceTd'>"&lt;&gt;"</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-operator">comparison operator</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenNE2"></a><em>ne2</em></td>
<td class='confluenceTd'>"!="</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-operator">comparison operator</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenPERIOD"></a><em>period</em></td>
<td class='confluenceTd'>"."</td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenPLUS"></a><em>plus</em></td>
<td class='confluenceTd'>"&#43;"</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-plusMinus">plus or minus</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenQMARK"></a><em>qmark</em></td>
<td class='confluenceTd'>"?"</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-callableStatement">callable statement</a>, <a href="#BNFforSQLGrammar-parameterReference">parameter reference</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenQUOTEDID"></a><em>quoted_id</em></td>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tokenIDPART">id_part</a>&gt; &#124; "\"" ("\"\"" &#124; ~["\""])+ "\""</td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenRBRACE"></a><em>rbrace</em></td>
<td class='confluenceTd'>"}"</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-callableStatement">callable statement</a>, <a href="#BNFforSQLGrammar-matchCrit">match predicate</a>, <a href="#BNFforSQLGrammar-nonNumericLiteral">non numeric literal</a>, <a href="#BNFforSQLGrammar-tableReference">table reference</a><br/>
<a href="#BNFforSQLGrammar-unsignedValueExpressionPrimary">unsigned value expression primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenRPAREN"></a><em>rparen</em></td>
<td class='confluenceTd'>")"</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-aggregateSymbol">standard aggregate function</a>, <a href="#BNFforSQLGrammar-alterOptionsList">alter options list</a>, <a href="#BNFforSQLGrammar-analyticAggregateSymbol">analytic aggregate function</a>, <a href="#BNFforSQLGrammar-arrayTable">array table</a><br/>
<a href="#BNFforSQLGrammar-callableStatement">callable statement</a>, <a href="#BNFforSQLGrammar-columnList">column list</a>, <a href="#BNFforSQLGrammar-constraint">other constraints</a>, <a href="#BNFforSQLGrammar-createDDLProcedure">create procedure</a><br/>
<a href="#BNFforSQLGrammar-createTableBody">create table body</a>, <a href="#BNFforSQLGrammar-createTempTable">create temporary table</a>, <a href="#BNFforSQLGrammar-filterClause">filter clause</a>, <a href="#BNFforSQLGrammar-function">function</a><br/>
<a href="#BNFforSQLGrammar-groupBy">group by clause</a>, <a href="#BNFforSQLGrammar-ifStatement">if statement</a>, <a href="#BNFforSQLGrammar-jsonObject">json object</a>, <a href="#BNFforSQLGrammar-loopStatement">loop statement</a><br/>
<a href="#BNFforSQLGrammar-makedepOptions">make dep options</a>, <a href="#BNFforSQLGrammar-nestedExpression">nested expression</a>, <a href="#BNFforSQLGrammar-objectTable">object table</a>, <a href="#BNFforSQLGrammar-optionsClause">options clause</a><br/>
<a href="#BNFforSQLGrammar-orderedAgg">ordered aggreate function</a>, <a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a>, <a href="#BNFforSQLGrammar-queryPrimary">query primary</a>, <a href="#BNFforSQLGrammar-queryString">querystring function</a><br/>
<a href="#BNFforSQLGrammar-setCrit">in predicate</a>, <a href="#BNFforSQLGrammar-storedProcedure">call statement</a>, <a href="#BNFforSQLGrammar-subquery">subquery</a>, <a href="#BNFforSQLGrammar-subqueryFromClause">table subquery</a><br/>
<a href="#BNFforSQLGrammar-tablePrimary">table primary</a>, <a href="#BNFforSQLGrammar-textAgg">text aggreate function</a>, <a href="#BNFforSQLGrammar-textTable">text table</a>, <a href="#BNFforSQLGrammar-unescapedFunction">unescapedFunction</a><br/>
<a href="#BNFforSQLGrammar-whileStatement">while statement</a>, <a href="#BNFforSQLGrammar-windowSpecification">window specification</a>, <a href="#BNFforSQLGrammar-withListElement">with list element</a>, <a href="#BNFforSQLGrammar-xmlAttributes">xml attributes</a><br/>
<a href="#BNFforSQLGrammar-xmlElement">xml element</a>, <a href="#BNFforSQLGrammar-xmlExists">xml query</a>, <a href="#BNFforSQLGrammar-xmlForest">xml forest</a>, <a href="#BNFforSQLGrammar-xmlNamespaces">xml namespaces</a><br/>
<a href="#BNFforSQLGrammar-xmlParse">xml parse</a>, <a href="#BNFforSQLGrammar-xmlQuery">xml query</a>, <a href="#BNFforSQLGrammar-xmlSerialize">xml serialize</a>, <a href="#BNFforSQLGrammar-xmlTable">xml table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenRSBRACE"></a><em>rsbrace</em></td>
<td class='confluenceTd'>"]"</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-parseDataType">data type</a>, <a href="#BNFforSQLGrammar-valueExpressionPrimary">value expression primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSEMICOLON"></a><em>semicolon</em></td>
<td class='confluenceTd'>";"</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-ddlStmt">ddl statement</a>, <a href="#BNFforSQLGrammar-delimitedStatement">delimited statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSLASH"></a><em>slash</em></td>
<td class='confluenceTd'>"/"</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-timesOperator">star or slash</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSTAR"></a><em>star</em></td>
<td class='confluenceTd'>"&#42;"</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-aggregateSymbol">standard aggregate function</a>, <a href="#BNFforSQLGrammar-dynamicCommand">dynamic data statement</a>, <a href="#BNFforSQLGrammar-select">select clause</a>, <a href="#BNFforSQLGrammar-timesOperator">star or slash</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenSTRINGVAL"></a><em>string literal</em></td>
<td class='confluenceTd'>("N" &#124; "E")? "\'" ("\'\'" &#124; ~["\'"])* "\'"</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-stringVal">string</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-tokenUNSIGNEDINTEGER"></a><em>unsigned integer literal</em></td>
<td class='confluenceTd'>(&lt;<a href="#BNFforSQLGrammar-tokenDIGIT">digit</a>&gt;)+</td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-intVal">unsigned integer</a>, <a href="#BNFforSQLGrammar-unsignedNumericLiteral">unsigned numeric literal</a></td>
</tr>
</tbody></table>
</div>

<h2><a name="BNFforSQLGrammar-ProductionCrossReference"></a><a name="BNFforSQLGrammar-headerpcr"></a>Production Cross-Reference</h2>

<div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'>Name</th>
<th class='confluenceTh'>Usage</th>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageaddSetOption"></a><em><a href="#BNFforSQLGrammar-addSetOption">add set option</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-alterOptionsList">alter options list</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageaggregateSymbol"></a><em><a href="#BNFforSQLGrammar-aggregateSymbol">standard aggregate function</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-unescapedFunction">unescapedFunction</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageallInGroupSymbol"></a><em><a href="#BNFforSQLGrammar-allInGroupSymbol">all in group </a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-selectSymbol">select sublist</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagealter"></a><em><a href="#BNFforSQLGrammar-alter">alter</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-userCommand">directly executable statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagealterColumn"></a><em><a href="#BNFforSQLGrammar-alterColumn">alter column options</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-alterStatement">alter options</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagealterOptionsList"></a><em><a href="#BNFforSQLGrammar-alterOptionsList">alter options list</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-alterColumn">alter column options</a>, <a href="#BNFforSQLGrammar-alterStatement">alter options</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagealterStatement"></a><em><a href="#BNFforSQLGrammar-alterStatement">alter options</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-ddlStmt">ddl statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageanalyticAggregateSymbol"></a><em><a href="#BNFforSQLGrammar-analyticAggregateSymbol">analytic aggregate function</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-unescapedFunction">unescapedFunction</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagearrayTable"></a><em><a href="#BNFforSQLGrammar-arrayTable">array table</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tablePrimary">table primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageassignStatement"></a><em><a href="#BNFforSQLGrammar-assignStatement">assignment statement</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-delimitedStatement">delimited statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageassignStatementOperand"></a><em><a href="#BNFforSQLGrammar-assignStatementOperand">assignment statement operand</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-assignStatement">assignment statement</a>, <a href="#BNFforSQLGrammar-declareStatement">declare statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagebetweenCrit"></a><em><a href="#BNFforSQLGrammar-betweenCrit">between predicate</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-booleanPrimary">boolean primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagebooleanPrimary"></a><em><a href="#BNFforSQLGrammar-booleanPrimary">boolean primary</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-filterClause">filter clause</a>, <a href="#BNFforSQLGrammar-notCrit">boolean factor</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagebranchingStatement"></a><em><a href="#BNFforSQLGrammar-branchingStatement">branching statement</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-delimitedStatement">delimited statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagecaseExpression"></a><em><a href="#BNFforSQLGrammar-caseExpression">case expression</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-unsignedValueExpressionPrimary">unsigned value expression primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagecharVal"></a><em><a href="#BNFforSQLGrammar-charVal">character</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-matchCrit">match predicate</a>, <a href="#BNFforSQLGrammar-textAgg">text aggreate function</a>, <a href="#BNFforSQLGrammar-textTable">text table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagecolumnList"></a><em><a href="#BNFforSQLGrammar-columnList">column list</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-constraint">other constraints</a>, <a href="#BNFforSQLGrammar-createTempTable">create temporary table</a>, <a href="#BNFforSQLGrammar-foreignKey">foreign key</a>, <a href="#BNFforSQLGrammar-insert">insert statement</a><br/>
<a href="#BNFforSQLGrammar-primaryKey">primary key</a>, <a href="#BNFforSQLGrammar-withListElement">with list element</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagecommonValueExpression"></a><em><a href="#BNFforSQLGrammar-commonValueExpression">common value expression</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-betweenCrit">between predicate</a>, <a href="#BNFforSQLGrammar-booleanPrimary">boolean primary</a>, <a href="#BNFforSQLGrammar-compareCrit">comparison predicate</a>, <a href="#BNFforSQLGrammar-exception">sql exception</a><br/>
<a href="#BNFforSQLGrammar-matchCrit">match predicate</a>, <a href="#BNFforSQLGrammar-regexMatchCrit">like regex predicate</a>, <a href="#BNFforSQLGrammar-setCrit">in predicate</a>, <a href="#BNFforSQLGrammar-textTable">text table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagecompareCrit"></a><em><a href="#BNFforSQLGrammar-compareCrit">comparison predicate</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-booleanPrimary">boolean primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagecompoundCritAnd"></a><em><a href="#BNFforSQLGrammar-compoundCritAnd">boolean term</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-compoundCritOr">boolean value expression</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagecompoundCritOr"></a><em><a href="#BNFforSQLGrammar-compoundCritOr">boolean value expression</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-criteria">condition</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagecompoundStatement"></a><em><a href="#BNFforSQLGrammar-compoundStatement">compound statement</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-statement">statement</a>, <a href="#BNFforSQLGrammar-userCommand">directly executable statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageconstraint"></a><em><a href="#BNFforSQLGrammar-constraint">other constraints</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-createTableBody">create table body</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagecreateColumn"></a><em><a href="#BNFforSQLGrammar-createColumn">table element</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-createTableBody">create table body</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagecreateDDLProcedure"></a><em><a href="#BNFforSQLGrammar-createDDLProcedure">create procedure</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-ddlStmt">ddl statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagecreateElementsWithTypes"></a><em><a href="#BNFforSQLGrammar-createElementsWithTypes">typed element list</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-arrayTable">array table</a>, <a href="#BNFforSQLGrammar-dynamicCommand">dynamic data statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagecreateForeignTempTable"></a><em><a href="#BNFforSQLGrammar-createForeignTempTable">create foreign temp table</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-userCommand">directly executable statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagecreateNameSpace"></a><em><a href="#BNFforSQLGrammar-createNameSpace">option namespace</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-ddlStmt">ddl statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagecreateTable"></a><em><a href="#BNFforSQLGrammar-createTable">create table</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-ddlStmt">ddl statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagecreateTableBody"></a><em><a href="#BNFforSQLGrammar-createTableBody">create table body</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-createForeignTempTable">create foreign temp table</a>, <a href="#BNFforSQLGrammar-createTable">create table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagecreateTempTable"></a><em><a href="#BNFforSQLGrammar-createTempTable">create temporary table</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-userCommand">directly executable statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagecreateTrigger"></a><em><a href="#BNFforSQLGrammar-createTrigger">create trigger</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-ddlStmt">ddl statement</a>, <a href="#BNFforSQLGrammar-userCommand">directly executable statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagecriteria"></a><em><a href="#BNFforSQLGrammar-criteria">condition</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-expression">expression</a>, <a href="#BNFforSQLGrammar-having">having clause</a>, <a href="#BNFforSQLGrammar-ifStatement">if statement</a>, <a href="#BNFforSQLGrammar-qualifiedJoin">qualified table</a><br/>
<a href="#BNFforSQLGrammar-searchedCaseExpression">searched case expression</a>, <a href="#BNFforSQLGrammar-where">where clause</a>, <a href="#BNFforSQLGrammar-whileStatement">while statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagecrossJoin"></a><em><a href="#BNFforSQLGrammar-crossJoin">cross join</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-joinedTable">joined table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagedeclareStatement"></a><em><a href="#BNFforSQLGrammar-declareStatement">declare statement</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-delimitedStatement">delimited statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagedelete"></a><em><a href="#BNFforSQLGrammar-delete">delete statement</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-assignStatementOperand">assignment statement operand</a>, <a href="#BNFforSQLGrammar-userCommand">directly executable statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagedelimitedStatement"></a><em><a href="#BNFforSQLGrammar-delimitedStatement">delimited statement</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-statement">statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagederivedColumn"></a><em><a href="#BNFforSQLGrammar-derivedColumn">derived column</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-derivedColumnList">derived column list</a>, <a href="#BNFforSQLGrammar-objectTable">object table</a>, <a href="#BNFforSQLGrammar-queryString">querystring function</a>, <a href="#BNFforSQLGrammar-textAgg">text aggreate function</a><br/>
<a href="#BNFforSQLGrammar-xmlAttributes">xml attributes</a>, <a href="#BNFforSQLGrammar-xmlExists">xml query</a>, <a href="#BNFforSQLGrammar-xmlQuery">xml query</a>, <a href="#BNFforSQLGrammar-xmlTable">xml table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagederivedColumnList"></a><em><a href="#BNFforSQLGrammar-derivedColumnList">derived column list</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-jsonObject">json object</a>, <a href="#BNFforSQLGrammar-xmlForest">xml forest</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagedropOption"></a><em><a href="#BNFforSQLGrammar-dropOption">drop option</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-alterOptionsList">alter options list</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagedropTable"></a><em><a href="#BNFforSQLGrammar-dropTable">drop table</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-userCommand">directly executable statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagedynamicCommand"></a><em><a href="#BNFforSQLGrammar-dynamicCommand">dynamic data statement</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-sqlStatement">data statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageerrorStatement"></a><em><a href="#BNFforSQLGrammar-errorStatement">raise error statement</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-delimitedStatement">delimited statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageexception"></a><em><a href="#BNFforSQLGrammar-exception">sql exception</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-assignStatementOperand">assignment statement operand</a>, <a href="#BNFforSQLGrammar-exceptionReference">exception reference</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageexceptionReference"></a><em><a href="#BNFforSQLGrammar-exceptionReference">exception reference</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-exception">sql exception</a>, <a href="#BNFforSQLGrammar-raiseStatement">raise statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageexecuteNamedParams"></a><em><a href="#BNFforSQLGrammar-executeNamedParams">named parameter list</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-callableStatement">callable statement</a>, <a href="#BNFforSQLGrammar-storedProcedure">call statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageexistsCriteria"></a><em><a href="#BNFforSQLGrammar-existsCriteria">exists predicate</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-booleanPrimary">boolean primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageexpression"></a><em><a href="#BNFforSQLGrammar-expression">expression</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-aggregateSymbol">standard aggregate function</a>, <a href="#BNFforSQLGrammar-assignStatementOperand">assignment statement operand</a>, <a href="#BNFforSQLGrammar-caseExpression">case expression</a>, <a href="#BNFforSQLGrammar-derivedColumn">derived column</a><br/>
<a href="#BNFforSQLGrammar-dynamicCommand">dynamic data statement</a>, <a href="#BNFforSQLGrammar-errorStatement">raise error statement</a>, <a href="#BNFforSQLGrammar-executeNamedParams">named parameter list</a>, <a href="#BNFforSQLGrammar-expressionList">expression list</a><br/>
<a href="#BNFforSQLGrammar-function">function</a>, <a href="#BNFforSQLGrammar-nestedExpression">nested expression</a>, <a href="#BNFforSQLGrammar-objectColumn">object table column</a>, <a href="#BNFforSQLGrammar-orderedAgg">ordered aggreate function</a><br/>
<a href="#BNFforSQLGrammar-queryString">querystring function</a>, <a href="#BNFforSQLGrammar-returnStatement">return statement</a>, <a href="#BNFforSQLGrammar-searchedCaseExpression">searched case expression</a>, <a href="#BNFforSQLGrammar-selectExpression">select derived column</a><br/>
<a href="#BNFforSQLGrammar-setClauseList">set clause list</a>, <a href="#BNFforSQLGrammar-sortKey">sort key</a>, <a href="#BNFforSQLGrammar-unescapedFunction">unescapedFunction</a>, <a href="#BNFforSQLGrammar-xmlColumn">xml table column</a><br/>
<a href="#BNFforSQLGrammar-xmlElement">xml element</a>, <a href="#BNFforSQLGrammar-xmlParse">xml parse</a>, <a href="#BNFforSQLGrammar-xmlSerialize">xml serialize</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageexpressionList"></a><em><a href="#BNFforSQLGrammar-expressionList">expression list</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-callableStatement">callable statement</a>, <a href="#BNFforSQLGrammar-constraint">other constraints</a>, <a href="#BNFforSQLGrammar-function">function</a>, <a href="#BNFforSQLGrammar-groupBy">group by clause</a><br/>
<a href="#BNFforSQLGrammar-queryPrimary">query primary</a>, <a href="#BNFforSQLGrammar-storedProcedure">call statement</a>, <a href="#BNFforSQLGrammar-windowSpecification">window specification</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagefetchLimit"></a><em><a href="#BNFforSQLGrammar-fetchLimit">fetch clause</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-limit">limit clause</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagefilterClause"></a><em><a href="#BNFforSQLGrammar-filterClause">filter clause</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a>, <a href="#BNFforSQLGrammar-unescapedFunction">unescapedFunction</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageforEachRowTriggerAction"></a><em><a href="#BNFforSQLGrammar-forEachRowTriggerAction">for each row trigger action</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-alter">alter</a>, <a href="#BNFforSQLGrammar-createTrigger">create trigger</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageforeignKey"></a><em><a href="#BNFforSQLGrammar-foreignKey">foreign key</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-createTableBody">create table body</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagefrom"></a><em><a href="#BNFforSQLGrammar-from">from clause</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-query">query</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagefunction"></a><em><a href="#BNFforSQLGrammar-function">function</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-unescapedFunction">unescapedFunction</a>, <a href="#BNFforSQLGrammar-unsignedValueExpressionPrimary">unsigned value expression primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagegroupBy"></a><em><a href="#BNFforSQLGrammar-groupBy">group by clause</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-query">query</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagehaving"></a><em><a href="#BNFforSQLGrammar-having">having clause</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-query">query</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageid"></a><em><a href="#BNFforSQLGrammar-id">identifier</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-alter">alter</a>, <a href="#BNFforSQLGrammar-alterColumn">alter column options</a>, <a href="#BNFforSQLGrammar-alterStatement">alter options</a>, <a href="#BNFforSQLGrammar-arrayTable">array table</a><br/>
<a href="#BNFforSQLGrammar-assignStatement">assignment statement</a>, <a href="#BNFforSQLGrammar-branchingStatement">branching statement</a>, <a href="#BNFforSQLGrammar-callableStatement">callable statement</a>, <a href="#BNFforSQLGrammar-columnList">column list</a><br/>
<a href="#BNFforSQLGrammar-compoundStatement">compound statement</a>, <a href="#BNFforSQLGrammar-createColumn">table element</a>, <a href="#BNFforSQLGrammar-createDDLProcedure">create procedure</a>, <a href="#BNFforSQLGrammar-createElementsWithTypes">typed element list</a><br/>
<a href="#BNFforSQLGrammar-createForeignTempTable">create foreign temp table</a>, <a href="#BNFforSQLGrammar-createNameSpace">option namespace</a>, <a href="#BNFforSQLGrammar-createTable">create table</a>, <a href="#BNFforSQLGrammar-createTableBody">create table body</a><br/>
<a href="#BNFforSQLGrammar-createTempTable">create temporary table</a>, <a href="#BNFforSQLGrammar-createTrigger">create trigger</a>, <a href="#BNFforSQLGrammar-declareStatement">declare statement</a>, <a href="#BNFforSQLGrammar-delete">delete statement</a><br/>
<a href="#BNFforSQLGrammar-derivedColumn">derived column</a>, <a href="#BNFforSQLGrammar-dropOption">drop option</a>, <a href="#BNFforSQLGrammar-dropTable">drop table</a>, <a href="#BNFforSQLGrammar-dynamicCommand">dynamic data statement</a><br/>
<a href="#BNFforSQLGrammar-exceptionReference">exception reference</a>, <a href="#BNFforSQLGrammar-executeNamedParams">named parameter list</a>, <a href="#BNFforSQLGrammar-foreignKey">foreign key</a>, <a href="#BNFforSQLGrammar-function">function</a><br/>
<a href="#BNFforSQLGrammar-ifStatement">if statement</a>, <a href="#BNFforSQLGrammar-insert">insert statement</a>, <a href="#BNFforSQLGrammar-into">into clause</a>, <a href="#BNFforSQLGrammar-loopStatement">loop statement</a><br/>
<a href="#BNFforSQLGrammar-namespaceItem">xml namespace element</a>, <a href="#BNFforSQLGrammar-objectColumn">object table column</a>, <a href="#BNFforSQLGrammar-objectTable">object table</a>, <a href="#BNFforSQLGrammar-option">option clause</a><br/>
<a href="#BNFforSQLGrammar-optionPair">option pair</a>, <a href="#BNFforSQLGrammar-procedureParameter">procedure parameter</a>, <a href="#BNFforSQLGrammar-procedureRsColumn">procedure result column</a>, <a href="#BNFforSQLGrammar-queryPrimary">query primary</a><br/>
<a href="#BNFforSQLGrammar-selectExpression">select derived column</a>, <a href="#BNFforSQLGrammar-setClauseList">set clause list</a>, <a href="#BNFforSQLGrammar-statement">statement</a>, <a href="#BNFforSQLGrammar-storedProcedure">call statement</a><br/>
<a href="#BNFforSQLGrammar-subqueryFromClause">table subquery</a>, <a href="#BNFforSQLGrammar-tableElement">temporary table element</a>, <a href="#BNFforSQLGrammar-textAgg">text aggreate function</a>, <a href="#BNFforSQLGrammar-textColumn">text table column</a><br/>
<a href="#BNFforSQLGrammar-textTable">text table</a>, <a href="#BNFforSQLGrammar-unaryFromClause">table name</a>, <a href="#BNFforSQLGrammar-update">update statement</a>, <a href="#BNFforSQLGrammar-withListElement">with list element</a><br/>
<a href="#BNFforSQLGrammar-xmlColumn">xml table column</a>, <a href="#BNFforSQLGrammar-xmlElement">xml element</a>, <a href="#BNFforSQLGrammar-xmlSerialize">xml serialize</a>, <a href="#BNFforSQLGrammar-xmlTable">xml table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageifStatement"></a><em><a href="#BNFforSQLGrammar-ifStatement">if statement</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-statement">statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageinsert"></a><em><a href="#BNFforSQLGrammar-insert">insert statement</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-assignStatementOperand">assignment statement operand</a>, <a href="#BNFforSQLGrammar-userCommand">directly executable statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageintParam"></a><em><a href="#BNFforSQLGrammar-intParam">integer parameter</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-fetchLimit">fetch clause</a>, <a href="#BNFforSQLGrammar-limit">limit clause</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageintVal"></a><em><a href="#BNFforSQLGrammar-intVal">unsigned integer</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-dynamicCommand">dynamic data statement</a>, <a href="#BNFforSQLGrammar-intParam">integer parameter</a>, <a href="#BNFforSQLGrammar-makedepOptions">make dep options</a>, <a href="#BNFforSQLGrammar-parameterReference">parameter reference</a><br/>
<a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a>, <a href="#BNFforSQLGrammar-textColumn">text table column</a>, <a href="#BNFforSQLGrammar-textTable">text table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageintervalType"></a><em><a href="#BNFforSQLGrammar-intervalType">time interval</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageinto"></a><em><a href="#BNFforSQLGrammar-into">into clause</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-query">query</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageisNullCrit"></a><em><a href="#BNFforSQLGrammar-isNullCrit">is null predicate</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-booleanPrimary">boolean primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagejoinedTable"></a><em><a href="#BNFforSQLGrammar-joinedTable">joined table</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tablePrimary">table primary</a>, <a href="#BNFforSQLGrammar-tableReference">table reference</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagejsonObject"></a><em><a href="#BNFforSQLGrammar-jsonObject">json object</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagelimit"></a><em><a href="#BNFforSQLGrammar-limit">limit clause</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-queryExpressionBody">query expression body</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageloopStatement"></a><em><a href="#BNFforSQLGrammar-loopStatement">loop statement</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-statement">statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagemakedepOptions"></a><em><a href="#BNFforSQLGrammar-makedepOptions">make dep options</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-option">option clause</a>, <a href="#BNFforSQLGrammar-tablePrimary">table primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagematchCrit"></a><em><a href="#BNFforSQLGrammar-matchCrit">match predicate</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-booleanPrimary">boolean primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagenamespaceItem"></a><em><a href="#BNFforSQLGrammar-namespaceItem">xml namespace element</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-xmlNamespaces">xml namespaces</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagenestedExpression"></a><em><a href="#BNFforSQLGrammar-nestedExpression">nested expression</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-unsignedValueExpressionPrimary">unsigned value expression primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagenonNumericLiteral"></a><em><a href="#BNFforSQLGrammar-nonNumericLiteral">non numeric literal</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-optionPair">option pair</a>, <a href="#BNFforSQLGrammar-valueExpressionPrimary">value expression primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagenonReserved"></a><em><a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-id">identifier</a>, <a href="#BNFforSQLGrammar-unsignedValueExpressionPrimary">unsigned value expression primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagenotCrit"></a><em><a href="#BNFforSQLGrammar-notCrit">boolean factor</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-compoundCritAnd">boolean term</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageobjectColumn"></a><em><a href="#BNFforSQLGrammar-objectColumn">object table column</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-objectTable">object table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageobjectTable"></a><em><a href="#BNFforSQLGrammar-objectTable">object table</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tablePrimary">table primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageoperator"></a><em><a href="#BNFforSQLGrammar-operator">comparison operator</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-compareCrit">comparison predicate</a>, <a href="#BNFforSQLGrammar-subqueryCompareCriteria">quantified comparison predicate</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageoption"></a><em><a href="#BNFforSQLGrammar-option">option clause</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-callableStatement">callable statement</a>, <a href="#BNFforSQLGrammar-delete">delete statement</a>, <a href="#BNFforSQLGrammar-insert">insert statement</a>, <a href="#BNFforSQLGrammar-queryExpressionBody">query expression body</a><br/>
<a href="#BNFforSQLGrammar-storedProcedure">call statement</a>, <a href="#BNFforSQLGrammar-update">update statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageoptionPair"></a><em><a href="#BNFforSQLGrammar-optionPair">option pair</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-addSetOption">add set option</a>, <a href="#BNFforSQLGrammar-optionsClause">options clause</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageoptionsClause"></a><em><a href="#BNFforSQLGrammar-optionsClause">options clause</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-createColumn">table element</a>, <a href="#BNFforSQLGrammar-createDDLProcedure">create procedure</a>, <a href="#BNFforSQLGrammar-createTable">create table</a>, <a href="#BNFforSQLGrammar-createTableBody">create table body</a><br/>
<a href="#BNFforSQLGrammar-procedureParameter">procedure parameter</a>, <a href="#BNFforSQLGrammar-procedureRsColumn">procedure result column</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageorderby"></a><em><a href="#BNFforSQLGrammar-orderby">order by clause</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a>, <a href="#BNFforSQLGrammar-orderedAgg">ordered aggreate function</a>, <a href="#BNFforSQLGrammar-queryExpressionBody">query expression body</a>, <a href="#BNFforSQLGrammar-textAgg">text aggreate function</a><br/>
<a href="#BNFforSQLGrammar-windowSpecification">window specification</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageorderedAgg"></a><em><a href="#BNFforSQLGrammar-orderedAgg">ordered aggreate function</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-unescapedFunction">unescapedFunction</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageparameterReference"></a><em><a href="#BNFforSQLGrammar-parameterReference">parameter reference</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-unsignedValueExpressionPrimary">unsigned value expression primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageparseDataType"></a><em><a href="#BNFforSQLGrammar-parseDataType">data type</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-createColumn">table element</a>, <a href="#BNFforSQLGrammar-createDDLProcedure">create procedure</a>, <a href="#BNFforSQLGrammar-createElementsWithTypes">typed element list</a>, <a href="#BNFforSQLGrammar-declareStatement">declare statement</a><br/>
<a href="#BNFforSQLGrammar-function">function</a>, <a href="#BNFforSQLGrammar-objectColumn">object table column</a>, <a href="#BNFforSQLGrammar-procedureParameter">procedure parameter</a>, <a href="#BNFforSQLGrammar-procedureRsColumn">procedure result column</a><br/>
<a href="#BNFforSQLGrammar-tableElement">temporary table element</a>, <a href="#BNFforSQLGrammar-textColumn">text table column</a>, <a href="#BNFforSQLGrammar-unescapedFunction">unescapedFunction</a>, <a href="#BNFforSQLGrammar-xmlColumn">xml table column</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageparseDataTypePrimary"></a><em><a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-parseDataType">data type</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageplusExpression"></a><em><a href="#BNFforSQLGrammar-plusExpression">numeric value expression</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-commonValueExpression">common value expression</a>, <a href="#BNFforSQLGrammar-valueExpressionPrimary">value expression primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageplusMinus"></a><em><a href="#BNFforSQLGrammar-plusMinus">plus or minus</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-optionPair">option pair</a>, <a href="#BNFforSQLGrammar-plusExpression">numeric value expression</a>, <a href="#BNFforSQLGrammar-valueExpressionPrimary">value expression primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageprimaryKey"></a><em><a href="#BNFforSQLGrammar-primaryKey">primary key</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-createTableBody">create table body</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageprocedureParameter"></a><em><a href="#BNFforSQLGrammar-procedureParameter">procedure parameter</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-createDDLProcedure">create procedure</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageprocedureRsColumn"></a><em><a href="#BNFforSQLGrammar-procedureRsColumn">procedure result column</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-createDDLProcedure">create procedure</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagequalifiedJoin"></a><em><a href="#BNFforSQLGrammar-qualifiedJoin">qualified table</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-joinedTable">joined table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagequery"></a><em><a href="#BNFforSQLGrammar-query">query</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-queryPrimary">query primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagequeryExpression"></a><em><a href="#BNFforSQLGrammar-queryExpression">query expression</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-alter">alter</a>, <a href="#BNFforSQLGrammar-assignStatementOperand">assignment statement operand</a>, <a href="#BNFforSQLGrammar-createTable">create table</a>, <a href="#BNFforSQLGrammar-insert">insert statement</a><br/>
<a href="#BNFforSQLGrammar-loopStatement">loop statement</a>, <a href="#BNFforSQLGrammar-subquery">subquery</a>, <a href="#BNFforSQLGrammar-subqueryFromClause">table subquery</a>, <a href="#BNFforSQLGrammar-userCommand">directly executable statement</a><br/>
<a href="#BNFforSQLGrammar-withListElement">with list element</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagequeryExpressionBody"></a><em><a href="#BNFforSQLGrammar-queryExpressionBody">query expression body</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-queryExpression">query expression</a>, <a href="#BNFforSQLGrammar-queryPrimary">query primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagequeryPrimary"></a><em><a href="#BNFforSQLGrammar-queryPrimary">query primary</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-queryTerm">query term</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagequeryString"></a><em><a href="#BNFforSQLGrammar-queryString">querystring function</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagequeryTerm"></a><em><a href="#BNFforSQLGrammar-queryTerm">query term</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-queryExpressionBody">query expression body</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageraiseStatement"></a><em><a href="#BNFforSQLGrammar-raiseStatement">raise statement</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-delimitedStatement">delimited statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageregexMatchCrit"></a><em><a href="#BNFforSQLGrammar-regexMatchCrit">like regex predicate</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-booleanPrimary">boolean primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagereturnStatement"></a><em><a href="#BNFforSQLGrammar-returnStatement">return statement</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-delimitedStatement">delimited statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagesearchedCaseExpression"></a><em><a href="#BNFforSQLGrammar-searchedCaseExpression">searched case expression</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-unsignedValueExpressionPrimary">unsigned value expression primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageselect"></a><em><a href="#BNFforSQLGrammar-select">select clause</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-query">query</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageselectExpression"></a><em><a href="#BNFforSQLGrammar-selectExpression">select derived column</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-selectSymbol">select sublist</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageselectSymbol"></a><em><a href="#BNFforSQLGrammar-selectSymbol">select sublist</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-select">select clause</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagesetClauseList"></a><em><a href="#BNFforSQLGrammar-setClauseList">set clause list</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-dynamicCommand">dynamic data statement</a>, <a href="#BNFforSQLGrammar-update">update statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagesetCrit"></a><em><a href="#BNFforSQLGrammar-setCrit">in predicate</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-booleanPrimary">boolean primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagesortKey"></a><em><a href="#BNFforSQLGrammar-sortKey">sort key</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-sortSpecification">sort specification</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagesortSpecification"></a><em><a href="#BNFforSQLGrammar-sortSpecification">sort specification</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-orderby">order by clause</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagesqlStatement"></a><em><a href="#BNFforSQLGrammar-sqlStatement">data statement</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-delimitedStatement">delimited statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagestatement"></a><em><a href="#BNFforSQLGrammar-statement">statement</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-alter">alter</a>, <a href="#BNFforSQLGrammar-compoundStatement">compound statement</a>, <a href="#BNFforSQLGrammar-createDDLProcedure">create procedure</a>, <a href="#BNFforSQLGrammar-forEachRowTriggerAction">for each row trigger action</a><br/>
<a href="#BNFforSQLGrammar-ifStatement">if statement</a>, <a href="#BNFforSQLGrammar-loopStatement">loop statement</a>, <a href="#BNFforSQLGrammar-procedureBodyCommand">procedure body definition</a>, <a href="#BNFforSQLGrammar-whileStatement">while statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagestoredProcedure"></a><em><a href="#BNFforSQLGrammar-storedProcedure">call statement</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-assignStatement">assignment statement</a>, <a href="#BNFforSQLGrammar-subquery">subquery</a>, <a href="#BNFforSQLGrammar-subqueryFromClause">table subquery</a>, <a href="#BNFforSQLGrammar-userCommand">directly executable statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagestringVal"></a><em><a href="#BNFforSQLGrammar-stringVal">string</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-charVal">character</a>, <a href="#BNFforSQLGrammar-createColumn">table element</a>, <a href="#BNFforSQLGrammar-createNameSpace">option namespace</a>, <a href="#BNFforSQLGrammar-function">function</a><br/>
<a href="#BNFforSQLGrammar-namespaceItem">xml namespace element</a>, <a href="#BNFforSQLGrammar-nonNumericLiteral">non numeric literal</a>, <a href="#BNFforSQLGrammar-objectColumn">object table column</a>, <a href="#BNFforSQLGrammar-objectTable">object table</a><br/>
<a href="#BNFforSQLGrammar-procedureParameter">procedure parameter</a>, <a href="#BNFforSQLGrammar-textColumn">text table column</a>, <a href="#BNFforSQLGrammar-textTable">text table</a>, <a href="#BNFforSQLGrammar-xmlColumn">xml table column</a><br/>
<a href="#BNFforSQLGrammar-xmlExists">xml query</a>, <a href="#BNFforSQLGrammar-xmlQuery">xml query</a>, <a href="#BNFforSQLGrammar-xmlSerialize">xml serialize</a>, <a href="#BNFforSQLGrammar-xmlTable">xml table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagesubquery"></a><em><a href="#BNFforSQLGrammar-subquery">subquery</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-existsCriteria">exists predicate</a>, <a href="#BNFforSQLGrammar-setCrit">in predicate</a>, <a href="#BNFforSQLGrammar-subqueryCompareCriteria">quantified comparison predicate</a>, <a href="#BNFforSQLGrammar-unsignedValueExpressionPrimary">unsigned value expression primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagesubqueryCompareCriteria"></a><em><a href="#BNFforSQLGrammar-subqueryCompareCriteria">quantified comparison predicate</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-booleanPrimary">boolean primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagesubqueryFromClause"></a><em><a href="#BNFforSQLGrammar-subqueryFromClause">table subquery</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tablePrimary">table primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagetableElement"></a><em><a href="#BNFforSQLGrammar-tableElement">temporary table element</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-createTempTable">create temporary table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagetablePrimary"></a><em><a href="#BNFforSQLGrammar-tablePrimary">table primary</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-crossJoin">cross join</a>, <a href="#BNFforSQLGrammar-joinedTable">joined table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagetableReference"></a><em><a href="#BNFforSQLGrammar-tableReference">table reference</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-from">from clause</a>, <a href="#BNFforSQLGrammar-qualifiedJoin">qualified table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagetextAgg"></a><em><a href="#BNFforSQLGrammar-textAgg">text aggreate function</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-unescapedFunction">unescapedFunction</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagetextColumn"></a><em><a href="#BNFforSQLGrammar-textColumn">text table column</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-textTable">text table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagetextTable"></a><em><a href="#BNFforSQLGrammar-textTable">text table</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tablePrimary">table primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagetimesExpression"></a><em><a href="#BNFforSQLGrammar-timesExpression">term</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-plusExpression">numeric value expression</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagetimesOperator"></a><em><a href="#BNFforSQLGrammar-timesOperator">star or slash</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-timesExpression">term</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageunaryFromClause"></a><em><a href="#BNFforSQLGrammar-unaryFromClause">table name</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tablePrimary">table primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageunescapedFunction"></a><em><a href="#BNFforSQLGrammar-unescapedFunction">unescapedFunction</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-unsignedValueExpressionPrimary">unsigned value expression primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageunsignedNumericLiteral"></a><em><a href="#BNFforSQLGrammar-unsignedNumericLiteral">unsigned numeric literal</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-optionPair">option pair</a>, <a href="#BNFforSQLGrammar-valueExpressionPrimary">value expression primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageunsignedValueExpressionPrimary"></a><em><a href="#BNFforSQLGrammar-unsignedValueExpressionPrimary">unsigned value expression primary</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-intParam">integer parameter</a>, <a href="#BNFforSQLGrammar-valueExpressionPrimary">value expression primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageupdate"></a><em><a href="#BNFforSQLGrammar-update">update statement</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-assignStatementOperand">assignment statement operand</a>, <a href="#BNFforSQLGrammar-userCommand">directly executable statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usageuserCommand"></a><em><a href="#BNFforSQLGrammar-userCommand">directly executable statement</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-sqlStatement">data statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagevalueExpressionPrimary"></a><em><a href="#BNFforSQLGrammar-valueExpressionPrimary">value expression primary</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-arrayTable">array table</a>, <a href="#BNFforSQLGrammar-timesExpression">term</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagewhere"></a><em><a href="#BNFforSQLGrammar-where">where clause</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-delete">delete statement</a>, <a href="#BNFforSQLGrammar-query">query</a>, <a href="#BNFforSQLGrammar-update">update statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagewhileStatement"></a><em><a href="#BNFforSQLGrammar-whileStatement">while statement</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-statement">statement</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagewindowSpecification"></a><em><a href="#BNFforSQLGrammar-windowSpecification">window specification</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-unescapedFunction">unescapedFunction</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagewithListElement"></a><em><a href="#BNFforSQLGrammar-withListElement">with list element</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-queryExpression">query expression</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagexmlAttributes"></a><em><a href="#BNFforSQLGrammar-xmlAttributes">xml attributes</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-xmlElement">xml element</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagexmlColumn"></a><em><a href="#BNFforSQLGrammar-xmlColumn">xml table column</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-xmlTable">xml table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagexmlElement"></a><em><a href="#BNFforSQLGrammar-xmlElement">xml element</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagexmlExists"></a><em><a href="#BNFforSQLGrammar-xmlExists">xml query</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-booleanPrimary">boolean primary</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagexmlForest"></a><em><a href="#BNFforSQLGrammar-xmlForest">xml forest</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagexmlNamespaces"></a><em><a href="#BNFforSQLGrammar-xmlNamespaces">xml namespaces</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-xmlElement">xml element</a>, <a href="#BNFforSQLGrammar-xmlExists">xml query</a>, <a href="#BNFforSQLGrammar-xmlForest">xml forest</a>, <a href="#BNFforSQLGrammar-xmlQuery">xml query</a><br/>
<a href="#BNFforSQLGrammar-xmlTable">xml table</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagexmlParse"></a><em><a href="#BNFforSQLGrammar-xmlParse">xml parse</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagexmlQuery"></a><em><a href="#BNFforSQLGrammar-xmlQuery">xml query</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagexmlSerialize"></a><em><a href="#BNFforSQLGrammar-xmlSerialize">xml serialize</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-function">function</a></td>
</tr>
<tr>
<td class='confluenceTd'><a name="BNFforSQLGrammar-usagexmlTable"></a><em><a href="#BNFforSQLGrammar-xmlTable">xml table</a></em></td>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tablePrimary">table primary</a></td>
</tr>
</tbody></table>
</div>


<h2><a name="BNFforSQLGrammar-Productions"></a><a name="BNFforSQLGrammar-headerp"></a>Productions</h2>


<h3><a name="BNFforSQLGrammar-string%23usagestringVal%3A%3A%3D"></a><a name="BNFforSQLGrammar-stringVal"></a><em><a href="#BNFforSQLGrammar-usagestringVal">string</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tokenSTRINGVAL">string literal</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A string literal value.  Use '' to escape ' in the string.  </p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">'a string'</pre>
</div></div>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">'it''s a string'</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-nonreservedidentifier%23usagenonReserved%3A%3A%3D"></a><a name="BNFforSQLGrammar-nonReserved"></a><em><a href="#BNFforSQLGrammar-usagenonReserved">non-reserved identifier</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenINSTEAD">INSTEAD</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenVIEW">VIEW</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenENABLED">ENABLED</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenDISABLED">DISABLED</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenKEY">KEY</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSERIAL">SERIAL</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenTEXTAGG">TEXTAGG</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenCOUNT">COUNT</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenROWNUMBER">ROW_NUMBER</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenRANK">RANK</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenDENSERANK">DENSE_RANK</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSUM">SUM</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenAVG">AVG</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenMIN">MIN</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenMAX">MAX</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenEVERY">EVERY</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSTDDEVPOP">STDDEV_POP</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSTDDEVSAMP">STDDEV_SAMP</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenVARSAMP">VAR_SAMP</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenVARPOP">VAR_POP</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenDOCUMENT">DOCUMENT</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenCONTENT">CONTENT</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenTRIM">TRIM</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenEMPTY">EMPTY</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenORDINALITY">ORDINALITY</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenPATH">PATH</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenFIRST">FIRST</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenLAST">LAST</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenNEXT">NEXT</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSUBSTRING">SUBSTRING</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenEXTRACT">EXTRACT</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenTOCHARS">TO_CHARS</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenTOBYTES">TO_BYTES</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenTIMESTAMPADD">TIMESTAMPADD</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenTIMESTAMPDIFF">TIMESTAMPDIFF</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenQUERYSTRING">QUERYSTRING</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenNAMESPACE">NAMESPACE</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenRESULT">RESULT</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenINDEX">INDEX</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenACCESSPATTERN">ACCESSPATTERN</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenAUTOINCREMENT">AUTO_INCREMENT</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenWELLFORMED">WELLFORMED</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSQLTSIFRACSECOND">SQL_TSI_FRAC_SECOND</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSQLTSISECOND">SQL_TSI_SECOND</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSQLTSIMINUTE">SQL_TSI_MINUTE</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSQLTSIHOUR">SQL_TSI_HOUR</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSQLTSIDAY">SQL_TSI_DAY</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSQLTSIWEEK">SQL_TSI_WEEK</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSQLTSIMONTH">SQL_TSI_MONTH</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSQLTSIQUARTER">SQL_TSI_QUARTER</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSQLTSIYEAR">SQL_TSI_YEAR</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenTEXTTABLE">TEXTTABLE</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenARRAYTABLE">ARRAYTABLE</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSELECTOR">SELECTOR</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSKIPKEYWORD">SKIP</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenWIDTH">WIDTH</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenPASSING">PASSING</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenNAME">NAME</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenENCODING">ENCODING</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenCOLUMNS">COLUMNS</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenDELIMITER">DELIMITER</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenQUOTE">QUOTE</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenHEADER">HEADER</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenNULLS">NULLS</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenOBJECTTABLE">OBJECTTABLE</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenVERSION">VERSION</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenINCLUDING">INCLUDING</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenEXCLUDING">EXCLUDING</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenXMLDECLARATION">XMLDECLARATION</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenVARIADIC">VARIADIC</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenRAISE">RAISE</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenEXCEPTION">EXCEPTION</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenCHAIN">CHAIN</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenJSONARRAYAGG">JSONARRAY_AGG</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenJSONOBJECT">JSONOBJECT</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenPRESERVE">PRESERVE</a></td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Allows non-reserved keywords to be parsed as identifiers  </p>


<p>Example:<br/>
SELECT <b>COUNT</b> FROM ...</p>


<hr />

<h3><a name="BNFforSQLGrammar-identifier%23usageid%3A%3A%3D"></a><a name="BNFforSQLGrammar-id"></a><em><a href="#BNFforSQLGrammar-usageid">identifier</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tokenID">identifier</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Partial or full name of a single entity.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">tbl.col</pre>
</div></div>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">"tbl"."col"</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-createtrigger%23usagecreateTrigger%3A%3A%3D"></a><a name="BNFforSQLGrammar-createTrigger"></a><em><a href="#BNFforSQLGrammar-usagecreateTrigger">create trigger</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenCREATE">CREATE</a> <a href="#BNFforSQLGrammar-tokenTRIGGER">TRIGGER</a> <a href="#BNFforSQLGrammar-tokenON">ON</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; <a href="#BNFforSQLGrammar-tokenINSTEAD">INSTEAD</a> <a href="#BNFforSQLGrammar-tokenOF">OF</a> ( <a href="#BNFforSQLGrammar-tokenINSERT">INSERT</a> &#124; <a href="#BNFforSQLGrammar-tokenUPDATE">UPDATE</a> &#124; <a href="#BNFforSQLGrammar-tokenDELETE">DELETE</a> ) <a href="#BNFforSQLGrammar-tokenAS">AS</a> &lt;<a href="#BNFforSQLGrammar-forEachRowTriggerAction">for each row trigger action</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Creates a trigger action on the given target.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">CREATE TRIGGER ON vw INSTEAD OF INSERT AS FOR EACH ROW BEGIN ATOMIC ... END</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-alter%23usagealter%3A%3A%3D"></a><a name="BNFforSQLGrammar-alter"></a><em><a href="#BNFforSQLGrammar-usagealter">alter</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenALTER">ALTER</a> ( ( <a href="#BNFforSQLGrammar-tokenVIEW">VIEW</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; <a href="#BNFforSQLGrammar-tokenAS">AS</a> &lt;<a href="#BNFforSQLGrammar-queryExpression">query expression</a>&gt; ) &#124; ( <a href="#BNFforSQLGrammar-tokenPROCEDURE">PROCEDURE</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; <a href="#BNFforSQLGrammar-tokenAS">AS</a> &lt;<a href="#BNFforSQLGrammar-statement">statement</a>&gt; ) &#124; ( <a href="#BNFforSQLGrammar-tokenTRIGGER">TRIGGER</a> <a href="#BNFforSQLGrammar-tokenON">ON</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; <a href="#BNFforSQLGrammar-tokenINSTEAD">INSTEAD</a> <a href="#BNFforSQLGrammar-tokenOF">OF</a> ( <a href="#BNFforSQLGrammar-tokenINSERT">INSERT</a> &#124; <a href="#BNFforSQLGrammar-tokenUPDATE">UPDATE</a> &#124; <a href="#BNFforSQLGrammar-tokenDELETE">DELETE</a> ) ( ( <a href="#BNFforSQLGrammar-tokenAS">AS</a> &lt;<a href="#BNFforSQLGrammar-forEachRowTriggerAction">for each row trigger action</a>&gt; ) &#124; <a href="#BNFforSQLGrammar-tokenENABLED">ENABLED</a> &#124; <a href="#BNFforSQLGrammar-tokenDISABLED">DISABLED</a> ) ) )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Alter the given target.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">ALTER VIEW vw AS SELECT col FROM tbl</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-foreachrowtriggeraction%23usageforEachRowTriggerAction%3A%3A%3D"></a><a name="BNFforSQLGrammar-forEachRowTriggerAction"></a><em><a href="#BNFforSQLGrammar-usageforEachRowTriggerAction">for each row trigger action</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenFOR">FOR</a> <a href="#BNFforSQLGrammar-tokenEACH">EACH</a> <a href="#BNFforSQLGrammar-tokenROW">ROW</a> ( ( <a href="#BNFforSQLGrammar-tokenBEGIN">BEGIN</a> ( <a href="#BNFforSQLGrammar-tokenATOMIC">ATOMIC</a> )? ( &lt;<a href="#BNFforSQLGrammar-statement">statement</a>&gt; )&#42; <a href="#BNFforSQLGrammar-tokenEND">END</a> ) &#124; &lt;<a href="#BNFforSQLGrammar-statement">statement</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Defines an action to perform on each row.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">FOR EACH ROW BEGIN ATOMIC ... END</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-directlyexecutablestatement%23usageuserCommand%3A%3A%3D"></a><a name="BNFforSQLGrammar-userCommand"></a><em><a href="#BNFforSQLGrammar-usageuserCommand">directly executable statement</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-queryExpression">query expression</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-storedProcedure">call statement</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-insert">insert statement</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-update">update statement</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-delete">delete statement</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-dropTable">drop table</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-createTempTable">create temporary table</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-createForeignTempTable">create foreign temp table</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-alter">alter</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-createTrigger">create trigger</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-compoundStatement">compound statement</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A statement that can be executed at runtime.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">SELECT * FROM tbl</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-droptable%23usagedropTable%3A%3A%3D"></a><a name="BNFforSQLGrammar-dropTable"></a><em><a href="#BNFforSQLGrammar-usagedropTable">drop table</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenDROP">DROP</a> <a href="#BNFforSQLGrammar-tokenTABLE">TABLE</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Creates a trigger action on the given target.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">CREATE TRIGGER ON vw INSTEAD OF INSERT AS FOR EACH ROW BEGIN ATOMIC ... END</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-createtemporarytable%23usagecreateTempTable%3A%3A%3D"></a><a name="BNFforSQLGrammar-createTempTable"></a><em><a href="#BNFforSQLGrammar-usagecreateTempTable">create temporary table</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenCREATE">CREATE</a> ( <a href="#BNFforSQLGrammar-tokenLOCAL">LOCAL</a> )? <a href="#BNFforSQLGrammar-tokenTEMPORARY">TEMPORARY</a> <a href="#BNFforSQLGrammar-tokenTABLE">TABLE</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-tableElement">temporary table element</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-tableElement">temporary table element</a>&gt; )&#42; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; <a href="#BNFforSQLGrammar-tokenPRIMARY">PRIMARY</a> <a href="#BNFforSQLGrammar-tokenKEY">KEY</a> &lt;<a href="#BNFforSQLGrammar-columnList">column list</a>&gt; )? &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; ( <a href="#BNFforSQLGrammar-tokenON">ON</a> <a href="#BNFforSQLGrammar-tokenCOMMIT">COMMIT</a> <a href="#BNFforSQLGrammar-tokenPRESERVE">PRESERVE</a> <a href="#BNFforSQLGrammar-tokenROWS">ROWS</a> )?</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Creates a temporary table.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">CREATE LOCAL TEMPORARY TABLE tmp (col integer)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-temporarytableelement%23usagetableElement%3A%3A%3D"></a><a name="BNFforSQLGrammar-tableElement"></a><em><a href="#BNFforSQLGrammar-usagetableElement">temporary table element</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-parseDataType">data type</a>&gt; &#124; <a href="#BNFforSQLGrammar-tokenSERIAL">SERIAL</a> ) ( <a href="#BNFforSQLGrammar-tokenNOT">NOT</a> <a href="#BNFforSQLGrammar-tokenNULL">NULL</a> )?</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Defines a temporary table column.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">col string NOT NULL</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-raiseerrorstatement%23usageerrorStatement%3A%3A%3D"></a><a name="BNFforSQLGrammar-errorStatement"></a><em><a href="#BNFforSQLGrammar-usageerrorStatement">raise error statement</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenERROR">ERROR</a> &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Raises an error with the given message.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">ERROR 'something went wrong'</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-raisestatement%23usageraiseStatement%3A%3A%3D"></a><a name="BNFforSQLGrammar-raiseStatement"></a><em><a href="#BNFforSQLGrammar-usageraiseStatement">raise statement</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenRAISE">RAISE</a> ( <a href="#BNFforSQLGrammar-tokenSQLWARNING">SQLWARNING</a> )? &lt;<a href="#BNFforSQLGrammar-exceptionReference">exception reference</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Raises an error or warning with the given message.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">RAISE SQLEXCEPTION 'something went wrong'</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-exceptionreference%23usageexceptionReference%3A%3A%3D"></a><a name="BNFforSQLGrammar-exceptionReference"></a><em><a href="#BNFforSQLGrammar-usageexceptionReference">exception reference</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-exception">sql exception</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>a reference to an exception</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">SQLEXCEPTION 'something went wrong' SQLSTATE '00X', 2</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-sqlexception%23usageexception%3A%3A%3D"></a><a name="BNFforSQLGrammar-exception"></a><em><a href="#BNFforSQLGrammar-usageexception">sql exception</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSQLEXCEPTION">SQLEXCEPTION</a> &lt;<a href="#BNFforSQLGrammar-commonValueExpression">common value expression</a>&gt; ( <a href="#BNFforSQLGrammar-tokenSQLSTATE">SQLSTATE</a> &lt;<a href="#BNFforSQLGrammar-commonValueExpression">common value expression</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-commonValueExpression">common value expression</a>&gt; )? )? ( <a href="#BNFforSQLGrammar-tokenCHAIN">CHAIN</a> &lt;<a href="#BNFforSQLGrammar-exceptionReference">exception reference</a>&gt; )?</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>creates a sql exception or warning with the specified message, state, and code</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">SQLEXCEPTION 'something went wrong' SQLSTATE '00X', 2</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-statement%23usagestatement%3A%3A%3D"></a><a name="BNFforSQLGrammar-statement"></a><em><a href="#BNFforSQLGrammar-usagestatement">statement</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( ( &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenCOLON">colon</a>&gt; )? ( &lt;<a href="#BNFforSQLGrammar-loopStatement">loop statement</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-whileStatement">while statement</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-compoundStatement">compound statement</a>&gt; ) )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-ifStatement">if statement</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-delimitedStatement">delimited statement</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A procedure statement.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">IF (x = 5) BEGIN ... END</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-delimitedstatement%23usagedelimitedStatement%3A%3A%3D"></a><a name="BNFforSQLGrammar-delimitedStatement"></a><em><a href="#BNFforSQLGrammar-usagedelimitedStatement">delimited statement</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( &lt;<a href="#BNFforSQLGrammar-assignStatement">assignment statement</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-sqlStatement">data statement</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-errorStatement">raise error statement</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-raiseStatement">raise statement</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-declareStatement">declare statement</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-branchingStatement">branching statement</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-returnStatement">return statement</a>&gt; ) &lt;<a href="#BNFforSQLGrammar-tokenSEMICOLON">semicolon</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A procedure statement terminated by ;.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">SELECT * FROM tbl;</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-compoundstatement%23usagecompoundStatement%3A%3A%3D"></a><a name="BNFforSQLGrammar-compoundStatement"></a><em><a href="#BNFforSQLGrammar-usagecompoundStatement">compound statement</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenBEGIN">BEGIN</a> ( ( <a href="#BNFforSQLGrammar-tokenNOT">NOT</a> )? <a href="#BNFforSQLGrammar-tokenATOMIC">ATOMIC</a> )? ( &lt;<a href="#BNFforSQLGrammar-statement">statement</a>&gt; )&#42; ( <a href="#BNFforSQLGrammar-tokenEXCEPTION">EXCEPTION</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-statement">statement</a>&gt; )&#42; )? <a href="#BNFforSQLGrammar-tokenEND">END</a></td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A procedure statement block contained in BEGIN END.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">BEGIN NOT ATOMIC ... END</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-branchingstatement%23usagebranchingStatement%3A%3A%3D"></a><a name="BNFforSQLGrammar-branchingStatement"></a><em><a href="#BNFforSQLGrammar-usagebranchingStatement">branching statement</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( ( <a href="#BNFforSQLGrammar-tokenBREAK">BREAK</a> &#124; <a href="#BNFforSQLGrammar-tokenCONTINUE">CONTINUE</a> ) ( &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; )? )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenLEAVE">LEAVE</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A procedure branching control statement, which typically specifies a label to return control to.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">BREAK x</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-returnstatement%23usagereturnStatement%3A%3A%3D"></a><a name="BNFforSQLGrammar-returnStatement"></a><em><a href="#BNFforSQLGrammar-usagereturnStatement">return statement</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenRETURN">RETURN</a> ( &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; )?</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A return statement.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">RETURN 1</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-whilestatement%23usagewhileStatement%3A%3A%3D"></a><a name="BNFforSQLGrammar-whileStatement"></a><em><a href="#BNFforSQLGrammar-usagewhileStatement">while statement</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenWHILE">WHILE</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-criteria">condition</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-statement">statement</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A procedure while statement that executes until its condition is false.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">WHILE (var) BEGIN ... END</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-loopstatement%23usageloopStatement%3A%3A%3D"></a><a name="BNFforSQLGrammar-loopStatement"></a><em><a href="#BNFforSQLGrammar-usageloopStatement">loop statement</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenLOOP">LOOP</a> <a href="#BNFforSQLGrammar-tokenON">ON</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-queryExpression">query expression</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; <a href="#BNFforSQLGrammar-tokenAS">AS</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; &lt;<a href="#BNFforSQLGrammar-statement">statement</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A procedure loop statement that executes over the given cursor.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">LOOP ON (SELECT * FROM tbl) AS x BEGIN ... END</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-ifstatement%23usageifStatement%3A%3A%3D"></a><a name="BNFforSQLGrammar-ifStatement"></a><em><a href="#BNFforSQLGrammar-usageifStatement">if statement</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenIF">IF</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; ( ( &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; <a href="#BNFforSQLGrammar-tokenIS">IS</a> ( <a href="#BNFforSQLGrammar-tokenNOT">NOT</a> )? <a href="#BNFforSQLGrammar-tokenDISTINCT">DISTINCT</a> <a href="#BNFforSQLGrammar-tokenFROM">FROM</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; ) &#124; &lt;<a href="#BNFforSQLGrammar-criteria">condition</a>&gt; ) &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-statement">statement</a>&gt; ( <a href="#BNFforSQLGrammar-tokenELSE">ELSE</a> &lt;<a href="#BNFforSQLGrammar-statement">statement</a>&gt; )?</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A procedure loop statement that executes over the given cursor.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">IF (boolVal) BEGIN variables.x = 1 END ELSE BEGIN variables.x = 2 END</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-declarestatement%23usagedeclareStatement%3A%3A%3D"></a><a name="BNFforSQLGrammar-declareStatement"></a><em><a href="#BNFforSQLGrammar-usagedeclareStatement">declare statement</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenDECLARE">DECLARE</a> ( &lt;<a href="#BNFforSQLGrammar-parseDataType">data type</a>&gt; &#124; <a href="#BNFforSQLGrammar-tokenEXCEPTION">EXCEPTION</a> ) &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenEQ">eq</a>&gt; &lt;<a href="#BNFforSQLGrammar-assignStatementOperand">assignment statement operand</a>&gt; )?</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A procedure declaration statement that creates a variable and optionally assigns a value.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">DECLARE STRING x = 'a'</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-assignmentstatement%23usageassignStatement%3A%3A%3D"></a><a name="BNFforSQLGrammar-assignStatement"></a><em><a href="#BNFforSQLGrammar-usageassignStatement">assignment statement</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenEQ">eq</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-assignStatementOperand">assignment statement operand</a>&gt; &#124; ( &lt;<a href="#BNFforSQLGrammar-storedProcedure">call statement</a>&gt; ( ( <a href="#BNFforSQLGrammar-tokenWITH">WITH</a> &#124; <a href="#BNFforSQLGrammar-tokenWITHOUT">WITHOUT</a> ) <a href="#BNFforSQLGrammar-tokenRETURN">RETURN</a> )? ) )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Assigns a variable a value in a procedure.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">x = 'b'</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-assignmentstatementoperand%23usageassignStatementOperand%3A%3A%3D"></a><a name="BNFforSQLGrammar-assignStatementOperand"></a><em><a href="#BNFforSQLGrammar-usageassignStatementOperand">assignment statement operand</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-insert">insert statement</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-update">update statement</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-delete">delete statement</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-queryExpression">query expression</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-exception">sql exception</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A value or command that can be used in an assignment.  </p>
<div class='panelMacro'><table class='noteMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="/author/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>All assigments except for expression are deprecated.</td></tr></table></div>


<hr />

<h3><a name="BNFforSQLGrammar-datastatement%23usagesqlStatement%3A%3A%3D"></a><a name="BNFforSQLGrammar-sqlStatement"></a><em><a href="#BNFforSQLGrammar-usagesqlStatement">data statement</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( &lt;<a href="#BNFforSQLGrammar-userCommand">directly executable statement</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-dynamicCommand">dynamic data statement</a>&gt; ) ( ( <a href="#BNFforSQLGrammar-tokenWITH">WITH</a> &#124; <a href="#BNFforSQLGrammar-tokenWITHOUT">WITHOUT</a> ) <a href="#BNFforSQLGrammar-tokenRETURN">RETURN</a> )?</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A procedure statement that executes a SQL statement.  An update statement can have its update count accessed via the ROWCOUNT variable. </p>


<hr />

<h3><a name="BNFforSQLGrammar-procedurebodydefinition%23usageprocedureBodyCommand%3A%3A%3D"></a><a name="BNFforSQLGrammar-procedureBodyCommand"></a><em><a href="#BNFforSQLGrammar-usageprocedureBodyCommand">procedure body definition</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenCREATE">CREATE</a> ( <a href="#BNFforSQLGrammar-tokenVIRTUAL">VIRTUAL</a> )? <a href="#BNFforSQLGrammar-tokenPROCEDURE">PROCEDURE</a> )? &lt;<a href="#BNFforSQLGrammar-statement">statement</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Defines a procedure body on a Procedure metadata object.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">BEGIN ... END</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-dynamicdatastatement%23usagedynamicCommand%3A%3A%3D"></a><a name="BNFforSQLGrammar-dynamicCommand"></a><em><a href="#BNFforSQLGrammar-usagedynamicCommand">dynamic data statement</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenEXECUTE">EXECUTE</a> &#124; <a href="#BNFforSQLGrammar-tokenEXEC">EXEC</a> ) ( <a href="#BNFforSQLGrammar-tokenSTRING">STRING</a> &#124; <a href="#BNFforSQLGrammar-tokenIMMEDIATE">IMMEDIATE</a> )? &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; ( <a href="#BNFforSQLGrammar-tokenAS">AS</a> &lt;<a href="#BNFforSQLGrammar-createElementsWithTypes">typed element list</a>&gt; ( <a href="#BNFforSQLGrammar-tokenINTO">INTO</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; )? )? ( <a href="#BNFforSQLGrammar-tokenUSING">USING</a> &lt;<a href="#BNFforSQLGrammar-setClauseList">set clause list</a>&gt; )? ( <a href="#BNFforSQLGrammar-tokenUPDATE">UPDATE</a> ( &lt;<a href="#BNFforSQLGrammar-intVal">unsigned integer</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-tokenSTAR">star</a>&gt; ) )?</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A procedure statement that can execute arbitrary sql.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">EXECUTE IMMEDIATE 'SELECT * FROM tbl' AS x STRING INTO #temp</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-setclauselist%23usagesetClauseList%3A%3A%3D"></a><a name="BNFforSQLGrammar-setClauseList"></a><em><a href="#BNFforSQLGrammar-usagesetClauseList">set clause list</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenEQ">eq</a>&gt; &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenEQ">eq</a>&gt; &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; )&#42;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A list of value assignments.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">col1 = 'x', col2 = 'y' ...</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-typedelementlist%23usagecreateElementsWithTypes%3A%3A%3D"></a><a name="BNFforSQLGrammar-createElementsWithTypes"></a><em><a href="#BNFforSQLGrammar-usagecreateElementsWithTypes">typed element list</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; &lt;<a href="#BNFforSQLGrammar-parseDataType">data type</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; &lt;<a href="#BNFforSQLGrammar-parseDataType">data type</a>&gt; )&#42;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A list of typed elements.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">col1 string, col2 integer ...</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-callablestatement%23usagecallableStatement%3A%3A%3D"></a><a name="BNFforSQLGrammar-callableStatement"></a><em><a href="#BNFforSQLGrammar-usagecallableStatement">callable statement</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tokenLBRACE">lbrace</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenQMARK">qmark</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenEQ">eq</a>&gt; )? <a href="#BNFforSQLGrammar-tokenCALL">CALL</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-executeNamedParams">named parameter list</a>&gt; &#124; ( &lt;<a href="#BNFforSQLGrammar-expressionList">expression list</a>&gt; )? ) &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; )? &lt;<a href="#BNFforSQLGrammar-tokenRBRACE">rbrace</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-option">option clause</a>&gt; )?</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A callable statement defined using JDBC escape syntax.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">{? = CALL proc}</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-callstatement%23usagestoredProcedure%3A%3A%3D"></a><a name="BNFforSQLGrammar-storedProcedure"></a><em><a href="#BNFforSQLGrammar-usagestoredProcedure">call statement</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( ( <a href="#BNFforSQLGrammar-tokenEXEC">EXEC</a> &#124; <a href="#BNFforSQLGrammar-tokenEXECUTE">EXECUTE</a> &#124; <a href="#BNFforSQLGrammar-tokenCALL">CALL</a> ) &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-executeNamedParams">named parameter list</a>&gt; &#124; ( &lt;<a href="#BNFforSQLGrammar-expressionList">expression list</a>&gt; )? ) &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; ) ( &lt;<a href="#BNFforSQLGrammar-option">option clause</a>&gt; )?</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Executes the procedure with the given parameters.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">CALL proc('a', 1)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-namedparameterlist%23usageexecuteNamedParams%3A%3A%3D"></a><a name="BNFforSQLGrammar-executeNamedParams"></a><em><a href="#BNFforSQLGrammar-usageexecuteNamedParams">named parameter list</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenEQ">eq</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenGT">gt</a>&gt; )? &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenEQ">eq</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenGT">gt</a>&gt; )? &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; )&#42; )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A list of named parameters.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">param1 =&gt; 'x', param2 =&gt; 1</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-insertstatement%23usageinsert%3A%3A%3D"></a><a name="BNFforSQLGrammar-insert"></a><em><a href="#BNFforSQLGrammar-usageinsert">insert statement</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenINSERT">INSERT</a> &#124; <a href="#BNFforSQLGrammar-tokenMERGE">MERGE</a> ) <a href="#BNFforSQLGrammar-tokenINTO">INTO</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-columnList">column list</a>&gt; )? &lt;<a href="#BNFforSQLGrammar-queryExpression">query expression</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-option">option clause</a>&gt; )?</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Inserts values into the given target.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">INSERT INTO tbl (col1, col2) VALUES ('a', 1)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-expressionlist%23usageexpressionList%3A%3A%3D"></a><a name="BNFforSQLGrammar-expressionList"></a><em><a href="#BNFforSQLGrammar-usageexpressionList">expression list</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; )&#42;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A list of expressions.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">col1, 'a', ...</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-updatestatement%23usageupdate%3A%3A%3D"></a><a name="BNFforSQLGrammar-update"></a><em><a href="#BNFforSQLGrammar-usageupdate">update statement</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenUPDATE">UPDATE</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; <a href="#BNFforSQLGrammar-tokenSET">SET</a> &lt;<a href="#BNFforSQLGrammar-setClauseList">set clause list</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-where">where clause</a>&gt; )? ( &lt;<a href="#BNFforSQLGrammar-option">option clause</a>&gt; )?</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Update values in the given target.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">UPDATE tbl SET (col1 = 'a') WHERE col2 = 1</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-deletestatement%23usagedelete%3A%3A%3D"></a><a name="BNFforSQLGrammar-delete"></a><em><a href="#BNFforSQLGrammar-usagedelete">delete statement</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenDELETE">DELETE</a> <a href="#BNFforSQLGrammar-tokenFROM">FROM</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-where">where clause</a>&gt; )? ( &lt;<a href="#BNFforSQLGrammar-option">option clause</a>&gt; )?</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Delete rows from the given target.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">DELETE FROM tbl WHERE col2 = 1</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-queryexpression%23usagequeryExpression%3A%3A%3D"></a><a name="BNFforSQLGrammar-queryExpression"></a><em><a href="#BNFforSQLGrammar-usagequeryExpression">query expression</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenWITH">WITH</a> &lt;<a href="#BNFforSQLGrammar-withListElement">with list element</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-withListElement">with list element</a>&gt; )&#42; )? &lt;<a href="#BNFforSQLGrammar-queryExpressionBody">query expression body</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A declarative query for data.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">SELECT * FROM tbl WHERE col2 = 1</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-withlistelement%23usagewithListElement%3A%3A%3D"></a><a name="BNFforSQLGrammar-withListElement"></a><em><a href="#BNFforSQLGrammar-usagewithListElement">with list element</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-columnList">column list</a>&gt; )? <a href="#BNFforSQLGrammar-tokenAS">AS</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-queryExpression">query expression</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A query expression for use in the enclosing query. </p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">X (Y, Z) AS (SELECT 1, 2)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-queryexpressionbody%23usagequeryExpressionBody%3A%3A%3D"></a><a name="BNFforSQLGrammar-queryExpressionBody"></a><em><a href="#BNFforSQLGrammar-usagequeryExpressionBody">query expression body</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-queryTerm">query term</a>&gt; ( ( <a href="#BNFforSQLGrammar-tokenUNION">UNION</a> &#124; <a href="#BNFforSQLGrammar-tokenEXCEPT">EXCEPT</a> ) ( <a href="#BNFforSQLGrammar-tokenALL">ALL</a> &#124; <a href="#BNFforSQLGrammar-tokenDISTINCT">DISTINCT</a> )? &lt;<a href="#BNFforSQLGrammar-queryTerm">query term</a>&gt; )&#42; ( &lt;<a href="#BNFforSQLGrammar-orderby">order by clause</a>&gt; )? ( &lt;<a href="#BNFforSQLGrammar-limit">limit clause</a>&gt; )? ( &lt;<a href="#BNFforSQLGrammar-option">option clause</a>&gt; )?</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>The body of a query expression, which can optionally be ordered and limited.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">SELECT * FROM tbl ORDER BY col1 LIMIT 1</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-queryterm%23usagequeryTerm%3A%3A%3D"></a><a name="BNFforSQLGrammar-queryTerm"></a><em><a href="#BNFforSQLGrammar-usagequeryTerm">query term</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-queryPrimary">query primary</a>&gt; ( <a href="#BNFforSQLGrammar-tokenINTERSECT">INTERSECT</a> ( <a href="#BNFforSQLGrammar-tokenALL">ALL</a> &#124; <a href="#BNFforSQLGrammar-tokenDISTINCT">DISTINCT</a> )? &lt;<a href="#BNFforSQLGrammar-queryPrimary">query primary</a>&gt; )&#42;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Used to establish INTERSECT precedence.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">SELECT * FROM tbl</pre>
</div></div>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">SELECT * FROM tbl1 INTERSECT SELECT * FROM tbl2</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-queryprimary%23usagequeryPrimary%3A%3A%3D"></a><a name="BNFforSQLGrammar-queryPrimary"></a><em><a href="#BNFforSQLGrammar-usagequeryPrimary">query primary</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-query">query</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenVALUES">VALUES</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-expressionList">expression list</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-expressionList">expression list</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; )&#42; )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenTABLE">TABLE</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-queryExpressionBody">query expression body</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A declarative source of rows.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">TABLE tbl</pre>
</div></div>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">SELECT * FROM tbl1</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-query%23usagequery%3A%3A%3D"></a><a name="BNFforSQLGrammar-query"></a><em><a href="#BNFforSQLGrammar-usagequery">query</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-select">select clause</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-into">into clause</a>&gt; )? ( &lt;<a href="#BNFforSQLGrammar-from">from clause</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-where">where clause</a>&gt; )? ( &lt;<a href="#BNFforSQLGrammar-groupBy">group by clause</a>&gt; )? ( &lt;<a href="#BNFforSQLGrammar-having">having clause</a>&gt; )? )?</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A SELECT query.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">SELECT col1, max(col2) FROM tbl GROUP BY col1</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-intoclause%23usageinto%3A%3A%3D"></a><a name="BNFforSQLGrammar-into"></a><em><a href="#BNFforSQLGrammar-usageinto">into clause</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenINTO">INTO</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Used to direct the query into a table.  </p>
<div class='panelMacro'><table class='noteMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="/author/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>This is deprecated.  Use INSERT INTO with a query expression instead.</td></tr></table></div>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">INTO tbl</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-selectclause%23usageselect%3A%3A%3D"></a><a name="BNFforSQLGrammar-select"></a><em><a href="#BNFforSQLGrammar-usageselect">select clause</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSELECT">SELECT</a> ( <a href="#BNFforSQLGrammar-tokenALL">ALL</a> &#124; <a href="#BNFforSQLGrammar-tokenDISTINCT">DISTINCT</a> )? ( &lt;<a href="#BNFforSQLGrammar-tokenSTAR">star</a>&gt; &#124; ( &lt;<a href="#BNFforSQLGrammar-selectSymbol">select sublist</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-selectSymbol">select sublist</a>&gt; )&#42; ) )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>The columns returned by a query.  Can optionally be distinct.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">SELECT *</pre>
</div></div>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">SELECT DISTINCT a, b, c</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-selectsublist%23usageselectSymbol%3A%3A%3D"></a><a name="BNFforSQLGrammar-selectSymbol"></a><em><a href="#BNFforSQLGrammar-usageselectSymbol">select sublist</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-selectExpression">select derived column</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-allInGroupSymbol">all in group </a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>An element in the select clause</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">tbl.*</pre>
</div></div>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">tbl.col AS x</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-selectderivedcolumn%23usageselectExpression%3A%3A%3D"></a><a name="BNFforSQLGrammar-selectExpression"></a><em><a href="#BNFforSQLGrammar-usageselectExpression">select derived column</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; ( ( <a href="#BNFforSQLGrammar-tokenAS">AS</a> )? &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; )? )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A select clause item that selects a single column. </p>
<div class='panelMacro'><table class='noteMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="/author/images/icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>This is slightly different than a derived column in that the AS keyword is optional.</td></tr></table></div>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">tbl.col AS x</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-derivedcolumn%23usagederivedColumn%3A%3A%3D"></a><a name="BNFforSQLGrammar-derivedColumn"></a><em><a href="#BNFforSQLGrammar-usagederivedColumn">derived column</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; ( <a href="#BNFforSQLGrammar-tokenAS">AS</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; )? )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>An optionally named expression.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">tbl.col AS x</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-allingroup%23usageallInGroupSymbol%3A%3A%3D"></a><a name="BNFforSQLGrammar-allInGroupSymbol"></a><em><a href="#BNFforSQLGrammar-usageallInGroupSymbol">all in group </a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tokenALLINGROUP">all in group identifier</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A select sublist that can select all columns from the given group.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">tbl.*</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-orderedaggreatefunction%23usageorderedAgg%3A%3A%3D"></a><a name="BNFforSQLGrammar-orderedAgg"></a><em><a href="#BNFforSQLGrammar-usageorderedAgg">ordered aggreate function</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenXMLAGG">XMLAGG</a> &#124; <a href="#BNFforSQLGrammar-tokenARRAYAGG">ARRAY_AGG</a> &#124; <a href="#BNFforSQLGrammar-tokenJSONARRAYAGG">JSONARRAY_AGG</a> ) &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-orderby">order by clause</a>&gt; )? &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>An aggregate function that can optionally be ordered.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">XMLAGG(col1) ORDER BY col2</pre>
</div></div>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">ARRAY_AGG(col1)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-textaggreatefunction%23usagetextAgg%3A%3A%3D"></a><a name="BNFforSQLGrammar-textAgg"></a><em><a href="#BNFforSQLGrammar-usagetextAgg">text aggreate function</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenTEXTAGG">TEXTAGG</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; ( <a href="#BNFforSQLGrammar-tokenFOR">FOR</a> )? &lt;<a href="#BNFforSQLGrammar-derivedColumn">derived column</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-derivedColumn">derived column</a>&gt; )&#42; ( <a href="#BNFforSQLGrammar-tokenDELIMITER">DELIMITER</a> &lt;<a href="#BNFforSQLGrammar-charVal">character</a>&gt; )? ( <a href="#BNFforSQLGrammar-tokenQUOTE">QUOTE</a> &lt;<a href="#BNFforSQLGrammar-charVal">character</a>&gt; )? ( <a href="#BNFforSQLGrammar-tokenHEADER">HEADER</a> )? ( <a href="#BNFforSQLGrammar-tokenENCODING">ENCODING</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; )? ( &lt;<a href="#BNFforSQLGrammar-orderby">order by clause</a>&gt; )? &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>An aggregate function for creating separated value clobs.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">TEXTAGG (col1 as t1, col2 as t2 DELIMITER ',' HEADER)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-standardaggregatefunction%23usageaggregateSymbol%3A%3A%3D"></a><a name="BNFforSQLGrammar-aggregateSymbol"></a><em><a href="#BNFforSQLGrammar-usageaggregateSymbol">standard aggregate function</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenCOUNT">COUNT</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenSTAR">star</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( ( <a href="#BNFforSQLGrammar-tokenCOUNT">COUNT</a> &#124; <a href="#BNFforSQLGrammar-tokenSUM">SUM</a> &#124; <a href="#BNFforSQLGrammar-tokenAVG">AVG</a> &#124; <a href="#BNFforSQLGrammar-tokenMIN">MIN</a> &#124; <a href="#BNFforSQLGrammar-tokenMAX">MAX</a> &#124; <a href="#BNFforSQLGrammar-tokenEVERY">EVERY</a> &#124; <a href="#BNFforSQLGrammar-tokenSTDDEVPOP">STDDEV_POP</a> &#124; <a href="#BNFforSQLGrammar-tokenSTDDEVSAMP">STDDEV_SAMP</a> &#124; <a href="#BNFforSQLGrammar-tokenVARSAMP">VAR_SAMP</a> &#124; <a href="#BNFforSQLGrammar-tokenVARPOP">VAR_POP</a> &#124; <a href="#BNFforSQLGrammar-tokenSOME">SOME</a> &#124; <a href="#BNFforSQLGrammar-tokenANY">ANY</a> ) &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; ( <a href="#BNFforSQLGrammar-tokenDISTINCT">DISTINCT</a> &#124; <a href="#BNFforSQLGrammar-tokenALL">ALL</a> )? &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A standard aggregate function.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">COUNT(*)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-analyticaggregatefunction%23usageanalyticAggregateSymbol%3A%3A%3D"></a><a name="BNFforSQLGrammar-analyticAggregateSymbol"></a><em><a href="#BNFforSQLGrammar-usageanalyticAggregateSymbol">analytic aggregate function</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenROWNUMBER">ROW_NUMBER</a> &#124; <a href="#BNFforSQLGrammar-tokenRANK">RANK</a> &#124; <a href="#BNFforSQLGrammar-tokenDENSERANK">DENSE_RANK</a> ) &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>An analytic aggregate function.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">ROW_NUMBER()</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-filterclause%23usagefilterClause%3A%3A%3D"></a><a name="BNFforSQLGrammar-filterClause"></a><em><a href="#BNFforSQLGrammar-usagefilterClause">filter clause</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenFILTER">FILTER</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; <a href="#BNFforSQLGrammar-tokenWHERE">WHERE</a> &lt;<a href="#BNFforSQLGrammar-booleanPrimary">boolean primary</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>An aggregate filter clause applied prior to accumulating the value.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">FILTER (WHERE col1='a')</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-fromclause%23usagefrom%3A%3A%3D"></a><a name="BNFforSQLGrammar-from"></a><em><a href="#BNFforSQLGrammar-usagefrom">from clause</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenFROM">FROM</a> ( &lt;<a href="#BNFforSQLGrammar-tableReference">table reference</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-tableReference">table reference</a>&gt; )&#42; )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A query from clause containing a list of table references.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">FROM a, b</pre>
</div></div>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">FROM a right outer join b, c, d join e".&lt;/p&gt;</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-tablereference%23usagetableReference%3A%3A%3D"></a><a name="BNFforSQLGrammar-tableReference"></a><em><a href="#BNFforSQLGrammar-usagetableReference">table reference</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( &lt;<a href="#BNFforSQLGrammar-tokenESCAPEDJOIN">escaped join</a>&gt; &lt;<a href="#BNFforSQLGrammar-joinedTable">joined table</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRBRACE">rbrace</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-joinedTable">joined table</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>An optionally escaped joined table.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">a</pre>
</div></div>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">a inner join b</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-joinedtable%23usagejoinedTable%3A%3A%3D"></a><a name="BNFforSQLGrammar-joinedTable"></a><em><a href="#BNFforSQLGrammar-usagejoinedTable">joined table</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tablePrimary">table primary</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-crossJoin">cross join</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-qualifiedJoin">qualified table</a>&gt; )&#42;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A table or join.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">a</pre>
</div></div>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">a inner join b</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-crossjoin%23usagecrossJoin%3A%3A%3D"></a><a name="BNFforSQLGrammar-crossJoin"></a><em><a href="#BNFforSQLGrammar-usagecrossJoin">cross join</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( ( <a href="#BNFforSQLGrammar-tokenCROSS">CROSS</a> &#124; <a href="#BNFforSQLGrammar-tokenUNION">UNION</a> ) <a href="#BNFforSQLGrammar-tokenJOIN">JOIN</a> &lt;<a href="#BNFforSQLGrammar-tablePrimary">table primary</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A cross join.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">a CROSS JOIN b</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-qualifiedtable%23usagequalifiedJoin%3A%3A%3D"></a><a name="BNFforSQLGrammar-qualifiedJoin"></a><em><a href="#BNFforSQLGrammar-usagequalifiedJoin">qualified table</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( ( ( <a href="#BNFforSQLGrammar-tokenRIGHT">RIGHT</a> ( <a href="#BNFforSQLGrammar-tokenOUTER">OUTER</a> )? ) &#124; ( <a href="#BNFforSQLGrammar-tokenLEFT">LEFT</a> ( <a href="#BNFforSQLGrammar-tokenOUTER">OUTER</a> )? ) &#124; ( <a href="#BNFforSQLGrammar-tokenFULL">FULL</a> ( <a href="#BNFforSQLGrammar-tokenOUTER">OUTER</a> )? ) &#124; <a href="#BNFforSQLGrammar-tokenINNER">INNER</a> )? <a href="#BNFforSQLGrammar-tokenJOIN">JOIN</a> &lt;<a href="#BNFforSQLGrammar-tableReference">table reference</a>&gt; <a href="#BNFforSQLGrammar-tokenON">ON</a> &lt;<a href="#BNFforSQLGrammar-criteria">condition</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>An INNER or OUTER join.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">a inner join b</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-tableprimary%23usagetablePrimary%3A%3A%3D"></a><a name="BNFforSQLGrammar-tablePrimary"></a><em><a href="#BNFforSQLGrammar-usagetablePrimary">table primary</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( &lt;<a href="#BNFforSQLGrammar-textTable">text table</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-arrayTable">array table</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-xmlTable">xml table</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-objectTable">object table</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-unaryFromClause">table name</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-subqueryFromClause">table subquery</a>&gt; &#124; ( &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-joinedTable">joined table</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; ) ) ( ( <a href="#BNFforSQLGrammar-tokenMAKEDEP">MAKEDEP</a> &lt;<a href="#BNFforSQLGrammar-makedepOptions">make dep options</a>&gt; ) &#124; <a href="#BNFforSQLGrammar-tokenMAKENOTDEP">MAKENOTDEP</a> )? ( ( <a href="#BNFforSQLGrammar-tokenMAKEIND">MAKEIND</a> &lt;<a href="#BNFforSQLGrammar-makedepOptions">make dep options</a>&gt; ) )?</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A single source of rows.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">a</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-makedepoptions%23usagemakedepOptions%3A%3A%3D"></a><a name="BNFforSQLGrammar-makedepOptions"></a><em><a href="#BNFforSQLGrammar-usagemakedepOptions">make dep options</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; ( <a href="#BNFforSQLGrammar-tokenMAX">MAX</a> &lt;<a href="#BNFforSQLGrammar-tokenCOLON">colon</a>&gt; &lt;<a href="#BNFforSQLGrammar-intVal">unsigned integer</a>&gt; )? ( ( <a href="#BNFforSQLGrammar-tokenNO">NO</a> )? <a href="#BNFforSQLGrammar-tokenJOIN">JOIN</a> )? &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; )?</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>options for the make dep hint</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">(min:10000)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-xmlserialize%23usagexmlSerialize%3A%3A%3D"></a><a name="BNFforSQLGrammar-xmlSerialize"></a><em><a href="#BNFforSQLGrammar-usagexmlSerialize">xml serialize</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenXMLSERIALIZE">XMLSERIALIZE</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; ( <a href="#BNFforSQLGrammar-tokenDOCUMENT">DOCUMENT</a> &#124; <a href="#BNFforSQLGrammar-tokenCONTENT">CONTENT</a> )? &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; ( <a href="#BNFforSQLGrammar-tokenAS">AS</a> ( <a href="#BNFforSQLGrammar-tokenSTRING">STRING</a> &#124; <a href="#BNFforSQLGrammar-tokenVARCHAR">VARCHAR</a> &#124; <a href="#BNFforSQLGrammar-tokenCLOB">CLOB</a> &#124; <a href="#BNFforSQLGrammar-tokenVARBINARY">VARBINARY</a> &#124; <a href="#BNFforSQLGrammar-tokenBLOB">BLOB</a> ) )? ( <a href="#BNFforSQLGrammar-tokenENCODING">ENCODING</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; )? ( <a href="#BNFforSQLGrammar-tokenVERSION">VERSION</a> &lt;<a href="#BNFforSQLGrammar-stringVal">string</a>&gt; )? ( ( <a href="#BNFforSQLGrammar-tokenINCLUDING">INCLUDING</a> &#124; <a href="#BNFforSQLGrammar-tokenEXCLUDING">EXCLUDING</a> ) <a href="#BNFforSQLGrammar-tokenXMLDECLARATION">XMLDECLARATION</a> )? &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Serializes an XML value.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">XMLSERIALIZE(col1 AS CLOB)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-arraytable%23usagearrayTable%3A%3A%3D"></a><a name="BNFforSQLGrammar-arrayTable"></a><em><a href="#BNFforSQLGrammar-usagearrayTable">array table</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenARRAYTABLE">ARRAYTABLE</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-valueExpressionPrimary">value expression primary</a>&gt; <a href="#BNFforSQLGrammar-tokenCOLUMNS">COLUMNS</a> &lt;<a href="#BNFforSQLGrammar-createElementsWithTypes">typed element list</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; ( <a href="#BNFforSQLGrammar-tokenAS">AS</a> )? &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>The ARRAYTABLE table function creates tabular results from arrays.  It can be used as a nested table reference.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">ARRAYTABLE (col1 COLUMNS x STRING) AS y</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-texttable%23usagetextTable%3A%3A%3D"></a><a name="BNFforSQLGrammar-textTable"></a><em><a href="#BNFforSQLGrammar-usagetextTable">text table</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenTEXTTABLE">TEXTTABLE</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-commonValueExpression">common value expression</a>&gt; ( <a href="#BNFforSQLGrammar-tokenSELECTOR">SELECTOR</a> &lt;<a href="#BNFforSQLGrammar-stringVal">string</a>&gt; )? <a href="#BNFforSQLGrammar-tokenCOLUMNS">COLUMNS</a> &lt;<a href="#BNFforSQLGrammar-textColumn">text table column</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-textColumn">text table column</a>&gt; )&#42; ( ( <a href="#BNFforSQLGrammar-tokenNO">NO</a> <a href="#BNFforSQLGrammar-tokenROW">ROW</a> <a href="#BNFforSQLGrammar-tokenDELIMITER">DELIMITER</a> ) &#124; ( <a href="#BNFforSQLGrammar-tokenROW">ROW</a> <a href="#BNFforSQLGrammar-tokenDELIMITER">DELIMITER</a> &lt;<a href="#BNFforSQLGrammar-charVal">character</a>&gt; ) )? ( <a href="#BNFforSQLGrammar-tokenDELIMITER">DELIMITER</a> &lt;<a href="#BNFforSQLGrammar-charVal">character</a>&gt; )? ( ( <a href="#BNFforSQLGrammar-tokenESCAPE">ESCAPE</a> &lt;<a href="#BNFforSQLGrammar-charVal">character</a>&gt; ) &#124; ( <a href="#BNFforSQLGrammar-tokenQUOTE">QUOTE</a> &lt;<a href="#BNFforSQLGrammar-charVal">character</a>&gt; ) )? ( <a href="#BNFforSQLGrammar-tokenHEADER">HEADER</a> ( &lt;<a href="#BNFforSQLGrammar-intVal">unsigned integer</a>&gt; )? )? ( <a href="#BNFforSQLGrammar-tokenSKIPKEYWORD">SKIP</a> &lt;<a href="#BNFforSQLGrammar-intVal">unsigned integer</a>&gt; )? ( <a href="#BNFforSQLGrammar-tokenNO">NO</a> <a href="#BNFforSQLGrammar-tokenTRIM">TRIM</a> )? &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; ( <a href="#BNFforSQLGrammar-tokenAS">AS</a> )? &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>The TEXTTABLE table function creates tabular results from text.  It can be used as a nested table reference.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">TEXTTABLE (file COLUMNS x STRING) AS y</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-texttablecolumn%23usagetextColumn%3A%3A%3D"></a><a name="BNFforSQLGrammar-textColumn"></a><em><a href="#BNFforSQLGrammar-usagetextColumn">text table column</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; ( ( <a href="#BNFforSQLGrammar-tokenFOR">FOR</a> <a href="#BNFforSQLGrammar-tokenORDINALITY">ORDINALITY</a> ) &#124; ( ( <a href="#BNFforSQLGrammar-tokenHEADER">HEADER</a> &lt;<a href="#BNFforSQLGrammar-stringVal">string</a>&gt; )? &lt;<a href="#BNFforSQLGrammar-parseDataType">data type</a>&gt; ( <a href="#BNFforSQLGrammar-tokenWIDTH">WIDTH</a> &lt;<a href="#BNFforSQLGrammar-intVal">unsigned integer</a>&gt; ( <a href="#BNFforSQLGrammar-tokenNO">NO</a> <a href="#BNFforSQLGrammar-tokenTRIM">TRIM</a> )? )? ( <a href="#BNFforSQLGrammar-tokenSELECTOR">SELECTOR</a> &lt;<a href="#BNFforSQLGrammar-stringVal">string</a>&gt; &lt;<a href="#BNFforSQLGrammar-intVal">unsigned integer</a>&gt; )? ) )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A text table column.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">x INTEGER WIDTH 6</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-xmlquery%23usagexmlExists%3A%3A%3D"></a><a name="BNFforSQLGrammar-xmlExists"></a><em><a href="#BNFforSQLGrammar-usagexmlExists">xml query</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenXMLEXISTS">XMLEXISTS</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-xmlNamespaces">xml namespaces</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; )? &lt;<a href="#BNFforSQLGrammar-stringVal">string</a>&gt; ( <a href="#BNFforSQLGrammar-tokenPASSING">PASSING</a> &lt;<a href="#BNFforSQLGrammar-derivedColumn">derived column</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-derivedColumn">derived column</a>&gt; )&#42; )? &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Executes an XQuery to return an XML result.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">XMLQUERY('&lt;a&gt;...&lt;/a&gt;' PASSING doc)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-xmlquery%23usagexmlQuery%3A%3A%3D"></a><a name="BNFforSQLGrammar-xmlQuery"></a><em><a href="#BNFforSQLGrammar-usagexmlQuery">xml query</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenXMLQUERY">XMLQUERY</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-xmlNamespaces">xml namespaces</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; )? &lt;<a href="#BNFforSQLGrammar-stringVal">string</a>&gt; ( <a href="#BNFforSQLGrammar-tokenPASSING">PASSING</a> &lt;<a href="#BNFforSQLGrammar-derivedColumn">derived column</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-derivedColumn">derived column</a>&gt; )&#42; )? ( ( <a href="#BNFforSQLGrammar-tokenNULL">NULL</a> &#124; <a href="#BNFforSQLGrammar-tokenEMPTY">EMPTY</a> ) <a href="#BNFforSQLGrammar-tokenON">ON</a> <a href="#BNFforSQLGrammar-tokenEMPTY">EMPTY</a> )? &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Executes an XQuery to return an XML result.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">XMLQUERY('&lt;a&gt;...&lt;/a&gt;' PASSING doc)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-objecttable%23usageobjectTable%3A%3A%3D"></a><a name="BNFforSQLGrammar-objectTable"></a><em><a href="#BNFforSQLGrammar-usageobjectTable">object table</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenOBJECTTABLE">OBJECTTABLE</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; ( <a href="#BNFforSQLGrammar-tokenLANGUAGE">LANGUAGE</a> &lt;<a href="#BNFforSQLGrammar-stringVal">string</a>&gt; )? &lt;<a href="#BNFforSQLGrammar-stringVal">string</a>&gt; ( <a href="#BNFforSQLGrammar-tokenPASSING">PASSING</a> &lt;<a href="#BNFforSQLGrammar-derivedColumn">derived column</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-derivedColumn">derived column</a>&gt; )&#42; )? <a href="#BNFforSQLGrammar-tokenCOLUMNS">COLUMNS</a> &lt;<a href="#BNFforSQLGrammar-objectColumn">object table column</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-objectColumn">object table column</a>&gt; )&#42; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; ( <a href="#BNFforSQLGrammar-tokenAS">AS</a> )? &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Returns table results by processing a script.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">OBJECTTABLE('z' PASSING val AS z COLUMNS col OBJECT 'teiid_row') AS X</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-objecttablecolumn%23usageobjectColumn%3A%3A%3D"></a><a name="BNFforSQLGrammar-objectColumn"></a><em><a href="#BNFforSQLGrammar-usageobjectColumn">object table column</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; &lt;<a href="#BNFforSQLGrammar-parseDataType">data type</a>&gt; &lt;<a href="#BNFforSQLGrammar-stringVal">string</a>&gt; ( <a href="#BNFforSQLGrammar-tokenDEFAULTKEYWORD">DEFAULT</a> &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; )?</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>object table column.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">y integer 'teiid_row_number'</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-xmltable%23usagexmlTable%3A%3A%3D"></a><a name="BNFforSQLGrammar-xmlTable"></a><em><a href="#BNFforSQLGrammar-usagexmlTable">xml table</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenXMLTABLE">XMLTABLE</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-xmlNamespaces">xml namespaces</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; )? &lt;<a href="#BNFforSQLGrammar-stringVal">string</a>&gt; ( <a href="#BNFforSQLGrammar-tokenPASSING">PASSING</a> &lt;<a href="#BNFforSQLGrammar-derivedColumn">derived column</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-derivedColumn">derived column</a>&gt; )&#42; )? ( <a href="#BNFforSQLGrammar-tokenCOLUMNS">COLUMNS</a> &lt;<a href="#BNFforSQLGrammar-xmlColumn">xml table column</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-xmlColumn">xml table column</a>&gt; )&#42; )? &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; ( <a href="#BNFforSQLGrammar-tokenAS">AS</a> )? &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Returns table results by processing an XQuery.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">XMLTABLE('/a/b' PASSING doc COLUMNS col XML PATH '.') AS X</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-xmltablecolumn%23usagexmlColumn%3A%3A%3D"></a><a name="BNFforSQLGrammar-xmlColumn"></a><em><a href="#BNFforSQLGrammar-usagexmlColumn">xml table column</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; ( ( <a href="#BNFforSQLGrammar-tokenFOR">FOR</a> <a href="#BNFforSQLGrammar-tokenORDINALITY">ORDINALITY</a> ) &#124; ( &lt;<a href="#BNFforSQLGrammar-parseDataType">data type</a>&gt; ( <a href="#BNFforSQLGrammar-tokenDEFAULTKEYWORD">DEFAULT</a> &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; )? ( <a href="#BNFforSQLGrammar-tokenPATH">PATH</a> &lt;<a href="#BNFforSQLGrammar-stringVal">string</a>&gt; )? ) )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>XML table column.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">y FOR ORDINALITY</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-unsignedinteger%23usageintVal%3A%3A%3D"></a><a name="BNFforSQLGrammar-intVal"></a><em><a href="#BNFforSQLGrammar-usageintVal">unsigned integer</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tokenUNSIGNEDINTEGER">unsigned integer literal</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>An unsigned interger value.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">12345</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-tablesubquery%23usagesubqueryFromClause%3A%3A%3D"></a><a name="BNFforSQLGrammar-subqueryFromClause"></a><em><a href="#BNFforSQLGrammar-usagesubqueryFromClause">table subquery</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenTABLE">TABLE</a> &#124; <a href="#BNFforSQLGrammar-tokenLATERAL">LATERAL</a> )? &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-queryExpression">query expression</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-storedProcedure">call statement</a>&gt; ) &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; ( <a href="#BNFforSQLGrammar-tokenAS">AS</a> )? &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A table defined by a subquery.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">(SELECT * FROM tbl) AS x</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-tablename%23usageunaryFromClause%3A%3A%3D"></a><a name="BNFforSQLGrammar-unaryFromClause"></a><em><a href="#BNFforSQLGrammar-usageunaryFromClause">table name</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; ( ( <a href="#BNFforSQLGrammar-tokenAS">AS</a> )? &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; )? )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A table named in the FROM clause.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">tbl AS x</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-whereclause%23usagewhere%3A%3A%3D"></a><a name="BNFforSQLGrammar-where"></a><em><a href="#BNFforSQLGrammar-usagewhere">where clause</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenWHERE">WHERE</a> &lt;<a href="#BNFforSQLGrammar-criteria">condition</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Specifies a search condition</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">WHERE x = 'a'</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-condition%23usagecriteria%3A%3A%3D"></a><a name="BNFforSQLGrammar-criteria"></a><em><a href="#BNFforSQLGrammar-usagecriteria">condition</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-compoundCritOr">boolean value expression</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A boolean expression.</p>


<hr />

<h3><a name="BNFforSQLGrammar-booleanvalueexpression%23usagecompoundCritOr%3A%3A%3D"></a><a name="BNFforSQLGrammar-compoundCritOr"></a><em><a href="#BNFforSQLGrammar-usagecompoundCritOr">boolean value expression</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-compoundCritAnd">boolean term</a>&gt; ( <a href="#BNFforSQLGrammar-tokenOR">OR</a> &lt;<a href="#BNFforSQLGrammar-compoundCritAnd">boolean term</a>&gt; )&#42;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>An optionally ORed boolean expression.</p>


<hr />

<h3><a name="BNFforSQLGrammar-booleanterm%23usagecompoundCritAnd%3A%3A%3D"></a><a name="BNFforSQLGrammar-compoundCritAnd"></a><em><a href="#BNFforSQLGrammar-usagecompoundCritAnd">boolean term</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-notCrit">boolean factor</a>&gt; ( <a href="#BNFforSQLGrammar-tokenAND">AND</a> &lt;<a href="#BNFforSQLGrammar-notCrit">boolean factor</a>&gt; )&#42;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>An optional ANDed boolean factor.</p>


<hr />

<h3><a name="BNFforSQLGrammar-booleanfactor%23usagenotCrit%3A%3A%3D"></a><a name="BNFforSQLGrammar-notCrit"></a><em><a href="#BNFforSQLGrammar-usagenotCrit">boolean factor</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenNOT">NOT</a> )? &lt;<a href="#BNFforSQLGrammar-booleanPrimary">boolean primary</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A boolean factor.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">NOT x = 'a'</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-booleanprimary%23usagebooleanPrimary%3A%3A%3D"></a><a name="BNFforSQLGrammar-booleanPrimary"></a><em><a href="#BNFforSQLGrammar-usagebooleanPrimary">boolean primary</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( &lt;<a href="#BNFforSQLGrammar-commonValueExpression">common value expression</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-betweenCrit">between predicate</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-matchCrit">match predicate</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-regexMatchCrit">like regex predicate</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-setCrit">in predicate</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-isNullCrit">is null predicate</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-subqueryCompareCriteria">quantified comparison predicate</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-compareCrit">comparison predicate</a>&gt; )? )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-existsCriteria">exists predicate</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-xmlExists">xml query</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A boolean predicate or simple expression.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">col LIKE 'a%'</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-comparisonoperator%23usageoperator%3A%3A%3D"></a><a name="BNFforSQLGrammar-operator"></a><em><a href="#BNFforSQLGrammar-usageoperator">comparison operator</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tokenEQ">eq</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tokenNE">ne</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tokenNE2">ne2</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tokenLT">lt</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tokenLE">le</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tokenGT">gt</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tokenGE">ge</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A comparison operator.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">=</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-comparisonpredicate%23usagecompareCrit%3A%3A%3D"></a><a name="BNFforSQLGrammar-compareCrit"></a><em><a href="#BNFforSQLGrammar-usagecompareCrit">comparison predicate</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-operator">comparison operator</a>&gt; &lt;<a href="#BNFforSQLGrammar-commonValueExpression">common value expression</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A value comparison.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">= 'a'</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-subquery%23usagesubquery%3A%3A%3D"></a><a name="BNFforSQLGrammar-subquery"></a><em><a href="#BNFforSQLGrammar-usagesubquery">subquery</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-queryExpression">query expression</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-storedProcedure">call statement</a>&gt; ) &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A subquery.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">(SELECT * FROM tbl)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-quantifiedcomparisonpredicate%23usagesubqueryCompareCriteria%3A%3A%3D"></a><a name="BNFforSQLGrammar-subqueryCompareCriteria"></a><em><a href="#BNFforSQLGrammar-usagesubqueryCompareCriteria">quantified comparison predicate</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-operator">comparison operator</a>&gt; ( <a href="#BNFforSQLGrammar-tokenANY">ANY</a> &#124; <a href="#BNFforSQLGrammar-tokenSOME">SOME</a> &#124; <a href="#BNFforSQLGrammar-tokenALL">ALL</a> ) &lt;<a href="#BNFforSQLGrammar-subquery">subquery</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A subquery comparison.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">= ANY (SELECT col FROM tbl)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-matchpredicate%23usagematchCrit%3A%3A%3D"></a><a name="BNFforSQLGrammar-matchCrit"></a><em><a href="#BNFforSQLGrammar-usagematchCrit">match predicate</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenNOT">NOT</a> )? ( <a href="#BNFforSQLGrammar-tokenLIKE">LIKE</a> &#124; ( <a href="#BNFforSQLGrammar-tokenSIMILAR">SIMILAR</a> <a href="#BNFforSQLGrammar-tokenTO">TO</a> ) ) &lt;<a href="#BNFforSQLGrammar-commonValueExpression">common value expression</a>&gt; ( <a href="#BNFforSQLGrammar-tokenESCAPE">ESCAPE</a> &lt;<a href="#BNFforSQLGrammar-charVal">character</a>&gt; &#124; ( &lt;<a href="#BNFforSQLGrammar-tokenLBRACE">lbrace</a>&gt; <a href="#BNFforSQLGrammar-tokenESCAPE">ESCAPE</a> &lt;<a href="#BNFforSQLGrammar-charVal">character</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRBRACE">rbrace</a>&gt; ) )?</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Matches based upon a pattern.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">LIKE 'a_'</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-likeregexpredicate%23usageregexMatchCrit%3A%3A%3D"></a><a name="BNFforSQLGrammar-regexMatchCrit"></a><em><a href="#BNFforSQLGrammar-usageregexMatchCrit">like regex predicate</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenNOT">NOT</a> )? <a href="#BNFforSQLGrammar-tokenLIKEREGEX">LIKE_REGEX</a> &lt;<a href="#BNFforSQLGrammar-commonValueExpression">common value expression</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A regular expression match.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">LIKE_REGEX 'a.*b'</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-character%23usagecharVal%3A%3A%3D"></a><a name="BNFforSQLGrammar-charVal"></a><em><a href="#BNFforSQLGrammar-usagecharVal">character</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-stringVal">string</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A single character.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">'a'</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-betweenpredicate%23usagebetweenCrit%3A%3A%3D"></a><a name="BNFforSQLGrammar-betweenCrit"></a><em><a href="#BNFforSQLGrammar-usagebetweenCrit">between predicate</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenNOT">NOT</a> )? <a href="#BNFforSQLGrammar-tokenBETWEEN">BETWEEN</a> &lt;<a href="#BNFforSQLGrammar-commonValueExpression">common value expression</a>&gt; <a href="#BNFforSQLGrammar-tokenAND">AND</a> &lt;<a href="#BNFforSQLGrammar-commonValueExpression">common value expression</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A comparison between two values.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">BETWEEN 1 AND 5</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-isnullpredicate%23usageisNullCrit%3A%3A%3D"></a><a name="BNFforSQLGrammar-isNullCrit"></a><em><a href="#BNFforSQLGrammar-usageisNullCrit">is null predicate</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenIS">IS</a> ( <a href="#BNFforSQLGrammar-tokenNOT">NOT</a> )? <a href="#BNFforSQLGrammar-tokenNULL">NULL</a></td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A null test.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">IS NOT NULL</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-inpredicate%23usagesetCrit%3A%3A%3D"></a><a name="BNFforSQLGrammar-setCrit"></a><em><a href="#BNFforSQLGrammar-usagesetCrit">in predicate</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenNOT">NOT</a> )? <a href="#BNFforSQLGrammar-tokenIN">IN</a> ( &lt;<a href="#BNFforSQLGrammar-subquery">subquery</a>&gt; &#124; ( &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-commonValueExpression">common value expression</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-commonValueExpression">common value expression</a>&gt; )&#42; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; ) )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A comparison with multiple values.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">IN (1, 5)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-existspredicate%23usageexistsCriteria%3A%3A%3D"></a><a name="BNFforSQLGrammar-existsCriteria"></a><em><a href="#BNFforSQLGrammar-usageexistsCriteria">exists predicate</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenEXISTS">EXISTS</a> &lt;<a href="#BNFforSQLGrammar-subquery">subquery</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A test if rows exist.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">EXISTS (SELECT col FROM tbl)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-groupbyclause%23usagegroupBy%3A%3A%3D"></a><a name="BNFforSQLGrammar-groupBy"></a><em><a href="#BNFforSQLGrammar-usagegroupBy">group by clause</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenGROUP">GROUP</a> <a href="#BNFforSQLGrammar-tokenBY">BY</a> ( <a href="#BNFforSQLGrammar-tokenROLLUP">ROLLUP</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-expressionList">expression list</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-expressionList">expression list</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Defines the grouping columns</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">GROUP BY col1, col2</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-havingclause%23usagehaving%3A%3A%3D"></a><a name="BNFforSQLGrammar-having"></a><em><a href="#BNFforSQLGrammar-usagehaving">having clause</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenHAVING">HAVING</a> &lt;<a href="#BNFforSQLGrammar-criteria">condition</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Search condition applied after grouping.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">HAVING max(col1) = 5</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-orderbyclause%23usageorderby%3A%3A%3D"></a><a name="BNFforSQLGrammar-orderby"></a><em><a href="#BNFforSQLGrammar-usageorderby">order by clause</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenORDER">ORDER</a> <a href="#BNFforSQLGrammar-tokenBY">BY</a> &lt;<a href="#BNFforSQLGrammar-sortSpecification">sort specification</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-sortSpecification">sort specification</a>&gt; )&#42;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Specifices row ordering.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">ORDER BY x, y DESC</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-sortspecification%23usagesortSpecification%3A%3A%3D"></a><a name="BNFforSQLGrammar-sortSpecification"></a><em><a href="#BNFforSQLGrammar-usagesortSpecification">sort specification</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-sortKey">sort key</a>&gt; ( <a href="#BNFforSQLGrammar-tokenASC">ASC</a> &#124; <a href="#BNFforSQLGrammar-tokenDESC">DESC</a> )? ( <a href="#BNFforSQLGrammar-tokenNULLS">NULLS</a> ( <a href="#BNFforSQLGrammar-tokenFIRST">FIRST</a> &#124; <a href="#BNFforSQLGrammar-tokenLAST">LAST</a> ) )?</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Defines how to sort on a particular expression</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">col1 NULLS FIRST</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-sortkey%23usagesortKey%3A%3A%3D"></a><a name="BNFforSQLGrammar-sortKey"></a><em><a href="#BNFforSQLGrammar-usagesortKey">sort key</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A sort expression.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">col1</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-integerparameter%23usageintParam%3A%3A%3D"></a><a name="BNFforSQLGrammar-intParam"></a><em><a href="#BNFforSQLGrammar-usageintParam">integer parameter</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-intVal">unsigned integer</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-unsignedValueExpressionPrimary">unsigned value expression primary</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A literal integer or parameter reference to an integer.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">?</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-limitclause%23usagelimit%3A%3A%3D"></a><a name="BNFforSQLGrammar-limit"></a><em><a href="#BNFforSQLGrammar-usagelimit">limit clause</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenLIMIT">LIMIT</a> &lt;<a href="#BNFforSQLGrammar-intParam">integer parameter</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-intParam">integer parameter</a>&gt; )? )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenOFFSET">OFFSET</a> &lt;<a href="#BNFforSQLGrammar-intParam">integer parameter</a>&gt; ( <a href="#BNFforSQLGrammar-tokenROW">ROW</a> &#124; <a href="#BNFforSQLGrammar-tokenROWS">ROWS</a> ) ( &lt;<a href="#BNFforSQLGrammar-fetchLimit">fetch clause</a>&gt; )? )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-fetchLimit">fetch clause</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Limits and/or offsets the resultant rows.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">LIMIT 2</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-fetchclause%23usagefetchLimit%3A%3A%3D"></a><a name="BNFforSQLGrammar-fetchLimit"></a><em><a href="#BNFforSQLGrammar-usagefetchLimit">fetch clause</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenFETCH">FETCH</a> ( <a href="#BNFforSQLGrammar-tokenFIRST">FIRST</a> &#124; <a href="#BNFforSQLGrammar-tokenNEXT">NEXT</a> ) ( &lt;<a href="#BNFforSQLGrammar-intParam">integer parameter</a>&gt; )? ( <a href="#BNFforSQLGrammar-tokenROW">ROW</a> &#124; <a href="#BNFforSQLGrammar-tokenROWS">ROWS</a> ) <a href="#BNFforSQLGrammar-tokenONLY">ONLY</a></td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>ANSI limit.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">FETCH FIRST 1 ROWS ONLY</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-optionclause%23usageoption%3A%3A%3D"></a><a name="BNFforSQLGrammar-option"></a><em><a href="#BNFforSQLGrammar-usageoption">option clause</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenOPTION">OPTION</a> ( <a href="#BNFforSQLGrammar-tokenMAKEDEP">MAKEDEP</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; &lt;<a href="#BNFforSQLGrammar-makedepOptions">make dep options</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; &lt;<a href="#BNFforSQLGrammar-makedepOptions">make dep options</a>&gt; )&#42; &#124; <a href="#BNFforSQLGrammar-tokenMAKEIND">MAKEIND</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; &lt;<a href="#BNFforSQLGrammar-makedepOptions">make dep options</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; &lt;<a href="#BNFforSQLGrammar-makedepOptions">make dep options</a>&gt; )&#42; &#124; <a href="#BNFforSQLGrammar-tokenMAKENOTDEP">MAKENOTDEP</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; )&#42; &#124; <a href="#BNFforSQLGrammar-tokenNOCACHE">NOCACHE</a> ( &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; )&#42; )? )&#42;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Specifies query options.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">OPTION MAKEDEP tbl</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-expression%23usageexpression%3A%3A%3D"></a><a name="BNFforSQLGrammar-expression"></a><em><a href="#BNFforSQLGrammar-usageexpression">expression</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-criteria">condition</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A value.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">col1</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-commonvalueexpression%23usagecommonValueExpression%3A%3A%3D"></a><a name="BNFforSQLGrammar-commonValueExpression"></a><em><a href="#BNFforSQLGrammar-usagecommonValueExpression">common value expression</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( &lt;<a href="#BNFforSQLGrammar-plusExpression">numeric value expression</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCONCATOP">concat_op</a>&gt; &lt;<a href="#BNFforSQLGrammar-plusExpression">numeric value expression</a>&gt; )&#42; )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Establishes the precedence of concat.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">'a' || 'b'</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-numericvalueexpression%23usageplusExpression%3A%3A%3D"></a><a name="BNFforSQLGrammar-plusExpression"></a><em><a href="#BNFforSQLGrammar-usageplusExpression">numeric value expression</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( &lt;<a href="#BNFforSQLGrammar-timesExpression">term</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-plusMinus">plus or minus</a>&gt; &lt;<a href="#BNFforSQLGrammar-timesExpression">term</a>&gt; )&#42; )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">1 + 2</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-plusorminus%23usageplusMinus%3A%3A%3D"></a><a name="BNFforSQLGrammar-plusMinus"></a><em><a href="#BNFforSQLGrammar-usageplusMinus">plus or minus</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tokenPLUS">plus</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tokenMINUS">minus</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>The + or - operator.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">+</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-term%23usagetimesExpression%3A%3A%3D"></a><a name="BNFforSQLGrammar-timesExpression"></a><em><a href="#BNFforSQLGrammar-usagetimesExpression">term</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( &lt;<a href="#BNFforSQLGrammar-valueExpressionPrimary">value expression primary</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-timesOperator">star or slash</a>&gt; &lt;<a href="#BNFforSQLGrammar-valueExpressionPrimary">value expression primary</a>&gt; )&#42; )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A numeric term</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">1 * 2</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-starorslash%23usagetimesOperator%3A%3A%3D"></a><a name="BNFforSQLGrammar-timesOperator"></a><em><a href="#BNFforSQLGrammar-usagetimesOperator">star or slash</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tokenSTAR">star</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tokenSLASH">slash</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>The * or / operator.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">/</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-valueexpressionprimary%23usagevalueExpressionPrimary%3A%3A%3D"></a><a name="BNFforSQLGrammar-valueExpressionPrimary"></a><em><a href="#BNFforSQLGrammar-usagevalueExpressionPrimary">value expression primary</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-nonNumericLiteral">non numeric literal</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( &lt;<a href="#BNFforSQLGrammar-plusMinus">plus or minus</a>&gt; )? ( &lt;<a href="#BNFforSQLGrammar-unsignedNumericLiteral">unsigned numeric literal</a>&gt; &#124; ( &lt;<a href="#BNFforSQLGrammar-unsignedValueExpressionPrimary">unsigned value expression primary</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenLSBRACE">lsbrace</a>&gt; &lt;<a href="#BNFforSQLGrammar-plusExpression">numeric value expression</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRSBRACE">rsbrace</a>&gt; )&#42; ) )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A simple value expression.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">+col1</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-parameterreference%23usageparameterReference%3A%3A%3D"></a><a name="BNFforSQLGrammar-parameterReference"></a><em><a href="#BNFforSQLGrammar-usageparameterReference">parameter reference</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tokenQMARK">qmark</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( &lt;<a href="#BNFforSQLGrammar-tokenDOLLAR">dollar</a>&gt; &lt;<a href="#BNFforSQLGrammar-intVal">unsigned integer</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A parameter reference to be bound later.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">?</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-unescapedFunction%23usageunescapedFunction%3A%3A%3D"></a><a name="BNFforSQLGrammar-unescapedFunction"></a><em><a href="#BNFforSQLGrammar-usageunescapedFunction">unescapedFunction</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( ( &lt;<a href="#BNFforSQLGrammar-textAgg">text aggreate function</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-aggregateSymbol">standard aggregate function</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-orderedAgg">ordered aggreate function</a>&gt; ) ( &lt;<a href="#BNFforSQLGrammar-filterClause">filter clause</a>&gt; )? ( &lt;<a href="#BNFforSQLGrammar-windowSpecification">window specification</a>&gt; )? ) &#124; ( &lt;<a href="#BNFforSQLGrammar-analyticAggregateSymbol">analytic aggregate function</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-filterClause">filter clause</a>&gt; )? &lt;<a href="#BNFforSQLGrammar-windowSpecification">window specification</a>&gt; ) &#124; ( &lt;<a href="#BNFforSQLGrammar-function">function</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-windowSpecification">window specification</a>&gt; )? )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenXMLCAST">XMLCAST</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; <a href="#BNFforSQLGrammar-tokenAS">AS</a> &lt;<a href="#BNFforSQLGrammar-parseDataType">data type</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<hr />

<h3><a name="BNFforSQLGrammar-nestedexpression%23usagenestedExpression%3A%3A%3D"></a><a name="BNFforSQLGrammar-nestedExpression"></a><em><a href="#BNFforSQLGrammar-usagenestedExpression">nested expression</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; )&#42; )? ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; )? &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>An expression nested in parens</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">(1)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-unsignedvalueexpressionprimary%23usageunsignedValueExpressionPrimary%3A%3A%3D"></a><a name="BNFforSQLGrammar-unsignedValueExpressionPrimary"></a><em><a href="#BNFforSQLGrammar-usageunsignedValueExpressionPrimary">unsigned value expression primary</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-parameterReference">parameter reference</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( &lt;<a href="#BNFforSQLGrammar-tokenESCAPEDFUNCTION">escaped function</a>&gt; &lt;<a href="#BNFforSQLGrammar-function">function</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRBRACE">rbrace</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-unescapedFunction">unescapedFunction</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tokenID">identifier</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-nonReserved">non-reserved identifier</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-subquery">subquery</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-nestedExpression">nested expression</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-searchedCaseExpression">searched case expression</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-caseExpression">case expression</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>An unsigned simple value expression.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">col1</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-windowspecification%23usagewindowSpecification%3A%3A%3D"></a><a name="BNFforSQLGrammar-windowSpecification"></a><em><a href="#BNFforSQLGrammar-usagewindowSpecification">window specification</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenOVER">OVER</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; ( <a href="#BNFforSQLGrammar-tokenPARTITION">PARTITION</a> <a href="#BNFforSQLGrammar-tokenBY">BY</a> &lt;<a href="#BNFforSQLGrammar-expressionList">expression list</a>&gt; )? ( &lt;<a href="#BNFforSQLGrammar-orderby">order by clause</a>&gt; )? &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>The window specification for an analytical or windowed aggregate function.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">OVER (PARTION BY col1)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-caseexpression%23usagecaseExpression%3A%3A%3D"></a><a name="BNFforSQLGrammar-caseExpression"></a><em><a href="#BNFforSQLGrammar-usagecaseExpression">case expression</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenCASE">CASE</a> &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; ( <a href="#BNFforSQLGrammar-tokenWHEN">WHEN</a> &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; <a href="#BNFforSQLGrammar-tokenTHEN">THEN</a> &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; )&#43; ( <a href="#BNFforSQLGrammar-tokenELSE">ELSE</a> &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; )? <a href="#BNFforSQLGrammar-tokenEND">END</a></td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>If/then/else chain using a common search predicand.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">CASE col1 WHEN 'a' THEN 1 ELSE 2</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-searchedcaseexpression%23usagesearchedCaseExpression%3A%3A%3D"></a><a name="BNFforSQLGrammar-searchedCaseExpression"></a><em><a href="#BNFforSQLGrammar-usagesearchedCaseExpression">searched case expression</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenCASE">CASE</a> ( <a href="#BNFforSQLGrammar-tokenWHEN">WHEN</a> &lt;<a href="#BNFforSQLGrammar-criteria">condition</a>&gt; <a href="#BNFforSQLGrammar-tokenTHEN">THEN</a> &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; )&#43; ( <a href="#BNFforSQLGrammar-tokenELSE">ELSE</a> &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; )? <a href="#BNFforSQLGrammar-tokenEND">END</a></td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>If/then/else chain using multiple search conditions.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">CASE WHEN x = 'a' THEN 1 WHEN y = 'b' THEN 2</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-function%23usagefunction%3A%3A%3D"></a><a name="BNFforSQLGrammar-function"></a><em><a href="#BNFforSQLGrammar-usagefunction">function</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenCONVERT">CONVERT</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-parseDataType">data type</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenCAST">CAST</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; <a href="#BNFforSQLGrammar-tokenAS">AS</a> &lt;<a href="#BNFforSQLGrammar-parseDataType">data type</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenSUBSTRING">SUBSTRING</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; ( ( <a href="#BNFforSQLGrammar-tokenFROM">FROM</a> &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; ( <a href="#BNFforSQLGrammar-tokenFOR">FOR</a> &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; )? ) &#124; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-expressionList">expression list</a>&gt; ) ) &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenEXTRACT">EXTRACT</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; ( <a href="#BNFforSQLGrammar-tokenYEAR">YEAR</a> &#124; <a href="#BNFforSQLGrammar-tokenMONTH">MONTH</a> &#124; <a href="#BNFforSQLGrammar-tokenDAY">DAY</a> &#124; <a href="#BNFforSQLGrammar-tokenHOUR">HOUR</a> &#124; <a href="#BNFforSQLGrammar-tokenMINUTE">MINUTE</a> &#124; <a href="#BNFforSQLGrammar-tokenSECOND">SECOND</a> ) <a href="#BNFforSQLGrammar-tokenFROM">FROM</a> &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenTRIM">TRIM</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; ( ( ( ( <a href="#BNFforSQLGrammar-tokenLEADING">LEADING</a> &#124; <a href="#BNFforSQLGrammar-tokenTRAILING">TRAILING</a> &#124; <a href="#BNFforSQLGrammar-tokenBOTH">BOTH</a> ) ( &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; )? ) &#124; &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; ) <a href="#BNFforSQLGrammar-tokenFROM">FROM</a> )? &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( ( <a href="#BNFforSQLGrammar-tokenTOCHARS">TO_CHARS</a> &#124; <a href="#BNFforSQLGrammar-tokenTOBYTES">TO_BYTES</a> ) &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-stringVal">string</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; )? &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( ( <a href="#BNFforSQLGrammar-tokenTIMESTAMPADD">TIMESTAMPADD</a> &#124; <a href="#BNFforSQLGrammar-tokenTIMESTAMPDIFF">TIMESTAMPDIFF</a> ) &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-intervalType">time interval</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-queryString">querystring function</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( ( <a href="#BNFforSQLGrammar-tokenLEFT">LEFT</a> &#124; <a href="#BNFforSQLGrammar-tokenRIGHT">RIGHT</a> &#124; <a href="#BNFforSQLGrammar-tokenCHAR">CHAR</a> &#124; <a href="#BNFforSQLGrammar-tokenUSER">USER</a> &#124; <a href="#BNFforSQLGrammar-tokenYEAR">YEAR</a> &#124; <a href="#BNFforSQLGrammar-tokenMONTH">MONTH</a> &#124; <a href="#BNFforSQLGrammar-tokenHOUR">HOUR</a> &#124; <a href="#BNFforSQLGrammar-tokenMINUTE">MINUTE</a> &#124; <a href="#BNFforSQLGrammar-tokenSECOND">SECOND</a> &#124; <a href="#BNFforSQLGrammar-tokenXMLCONCAT">XMLCONCAT</a> &#124; <a href="#BNFforSQLGrammar-tokenXMLCOMMENT">XMLCOMMENT</a> &#124; <a href="#BNFforSQLGrammar-tokenXMLTEXT">XMLTEXT</a> ) &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-expressionList">expression list</a>&gt; )? &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( ( <a href="#BNFforSQLGrammar-tokenTRANSLATE">TRANSLATE</a> &#124; <a href="#BNFforSQLGrammar-tokenINSERT">INSERT</a> ) &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-expressionList">expression list</a>&gt; )? &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-xmlParse">xml parse</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-xmlElement">xml element</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenXMLPI">XMLPI</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; ( ( <a href="#BNFforSQLGrammar-tokenNAME">NAME</a> )? &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; ) ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; )? &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-xmlForest">xml forest</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-jsonObject">json object</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-xmlSerialize">xml serialize</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-xmlQuery">xml query</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; ( <a href="#BNFforSQLGrammar-tokenALL">ALL</a> &#124; <a href="#BNFforSQLGrammar-tokenDISTINCT">DISTINCT</a> )? ( &lt;<a href="#BNFforSQLGrammar-expressionList">expression list</a>&gt; )? ( &lt;<a href="#BNFforSQLGrammar-orderby">order by clause</a>&gt; )? &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-filterClause">filter clause</a>&gt; )? )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Calls a scalar function.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">func('1', col1)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-xmlparse%23usagexmlParse%3A%3A%3D"></a><a name="BNFforSQLGrammar-xmlParse"></a><em><a href="#BNFforSQLGrammar-usagexmlParse">xml parse</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenXMLPARSE">XMLPARSE</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; ( <a href="#BNFforSQLGrammar-tokenDOCUMENT">DOCUMENT</a> &#124; <a href="#BNFforSQLGrammar-tokenCONTENT">CONTENT</a> ) &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; ( <a href="#BNFforSQLGrammar-tokenWELLFORMED">WELLFORMED</a> )? &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Parses the given value as XML.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">XMLPARSE(DOCUMENT doc WELLFORMED)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-querystringfunction%23usagequeryString%3A%3A%3D"></a><a name="BNFforSQLGrammar-queryString"></a><em><a href="#BNFforSQLGrammar-usagequeryString">querystring function</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenQUERYSTRING">QUERYSTRING</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-derivedColumn">derived column</a>&gt; )&#42; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Produces a URL query string from the given arguments.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">QUERYSTRING('path', col1 AS opt, col2 AS val)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-xmlelement%23usagexmlElement%3A%3A%3D"></a><a name="BNFforSQLGrammar-xmlElement"></a><em><a href="#BNFforSQLGrammar-usagexmlElement">xml element</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenXMLELEMENT">XMLELEMENT</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; ( ( <a href="#BNFforSQLGrammar-tokenNAME">NAME</a> )? &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; ) ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-xmlNamespaces">xml namespaces</a>&gt; )? ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-xmlAttributes">xml attributes</a>&gt; )? ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-expression">expression</a>&gt; )&#42; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Creates an XML element.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">XMLELEMENT(NAME "root", child)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-xmlattributes%23usagexmlAttributes%3A%3A%3D"></a><a name="BNFforSQLGrammar-xmlAttributes"></a><em><a href="#BNFforSQLGrammar-usagexmlAttributes">xml attributes</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenXMLATTRIBUTES">XMLATTRIBUTES</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-derivedColumn">derived column</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-derivedColumn">derived column</a>&gt; )&#42; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Creates attributes for the containing element.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">XMLATTRIBUTES(col1 AS attr1, col2 AS attr2)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-jsonobject%23usagejsonObject%3A%3A%3D"></a><a name="BNFforSQLGrammar-jsonObject"></a><em><a href="#BNFforSQLGrammar-usagejsonObject">json object</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenJSONOBJECT">JSONOBJECT</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-derivedColumnList">derived column list</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Produces a JSON object containing name value pairs.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">JSONOBJECT(col1 AS val1, col2 AS val2)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-derivedcolumnlist%23usagederivedColumnList%3A%3A%3D"></a><a name="BNFforSQLGrammar-derivedColumnList"></a><em><a href="#BNFforSQLGrammar-usagederivedColumnList">derived column list</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-derivedColumn">derived column</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-derivedColumn">derived column</a>&gt; )&#42;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>a list of name value pairs</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">col1 AS val1, col2 AS val2</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-xmlforest%23usagexmlForest%3A%3A%3D"></a><a name="BNFforSQLGrammar-xmlForest"></a><em><a href="#BNFforSQLGrammar-usagexmlForest">xml forest</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenXMLFOREST">XMLFOREST</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-xmlNamespaces">xml namespaces</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; )? &lt;<a href="#BNFforSQLGrammar-derivedColumnList">derived column list</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Produces an element for each derived column.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">XMLFOREST(col1 AS ELEM1, col2 AS ELEM2)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-xmlnamespaces%23usagexmlNamespaces%3A%3A%3D"></a><a name="BNFforSQLGrammar-xmlNamespaces"></a><em><a href="#BNFforSQLGrammar-usagexmlNamespaces">xml namespaces</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenXMLNAMESPACES">XMLNAMESPACES</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-namespaceItem">xml namespace element</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-namespaceItem">xml namespace element</a>&gt; )&#42; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Defines XML namespace URI/prefix combinations</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">XMLNAMESPACES('http://foo' AS foo)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-xmlnamespaceelement%23usagenamespaceItem%3A%3A%3D"></a><a name="BNFforSQLGrammar-namespaceItem"></a><em><a href="#BNFforSQLGrammar-usagenamespaceItem">xml namespace element</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( &lt;<a href="#BNFforSQLGrammar-stringVal">string</a>&gt; <a href="#BNFforSQLGrammar-tokenAS">AS</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenNO">NO</a> <a href="#BNFforSQLGrammar-tokenDEFAULTKEYWORD">DEFAULT</a> )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenDEFAULTKEYWORD">DEFAULT</a> &lt;<a href="#BNFforSQLGrammar-stringVal">string</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>An xml namespace</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">NO DEFAULT</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-simpledatatype%23usageparseDataTypePrimary%3A%3A%3D"></a><a name="BNFforSQLGrammar-parseDataTypePrimary"></a><em><a href="#BNFforSQLGrammar-usageparseDataTypePrimary">simple data type</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenSTRING">STRING</a> ( &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-intVal">unsigned integer</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; )? )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenVARCHAR">VARCHAR</a> ( &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-intVal">unsigned integer</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; )? )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenBOOLEAN">BOOLEAN</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenBYTE">BYTE</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenTINYINT">TINYINT</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSHORT">SHORT</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSMALLINT">SMALLINT</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenCHAR">CHAR</a> ( &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-intVal">unsigned integer</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; )? )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenINTEGER">INTEGER</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenLONG">LONG</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenBIGINT">BIGINT</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenBIGINTEGER">BIGINTEGER</a> ( &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-intVal">unsigned integer</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; )? )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenFLOAT">FLOAT</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenREAL">REAL</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenDOUBLE">DOUBLE</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenBIGDECIMAL">BIGDECIMAL</a> ( &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-intVal">unsigned integer</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-intVal">unsigned integer</a>&gt; )? &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; )? )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenDECIMAL">DECIMAL</a> ( &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-intVal">unsigned integer</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-intVal">unsigned integer</a>&gt; )? &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; )? )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenDATE">DATE</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenTIME">TIME</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenTIMESTAMP">TIMESTAMP</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenOBJECT">OBJECT</a> ( &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-intVal">unsigned integer</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; )? )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenBLOB">BLOB</a> ( &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-intVal">unsigned integer</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; )? )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenCLOB">CLOB</a> ( &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-intVal">unsigned integer</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; )? )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenVARBINARY">VARBINARY</a> ( &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-intVal">unsigned integer</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; )? )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenGEOMETRY">GEOMETRY</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenXML">XML</a></td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A non-collection data type.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">STRING</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-datatype%23usageparseDataType%3A%3A%3D"></a><a name="BNFforSQLGrammar-parseDataType"></a><em><a href="#BNFforSQLGrammar-usageparseDataType">data type</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-parseDataTypePrimary">simple data type</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenLSBRACE">lsbrace</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRSBRACE">rsbrace</a>&gt; )&#42;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A data type.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">STRING[]</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-timeinterval%23usageintervalType%3A%3A%3D"></a><a name="BNFforSQLGrammar-intervalType"></a><em><a href="#BNFforSQLGrammar-usageintervalType">time interval</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSQLTSIFRACSECOND">SQL_TSI_FRAC_SECOND</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSQLTSISECOND">SQL_TSI_SECOND</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSQLTSIMINUTE">SQL_TSI_MINUTE</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSQLTSIHOUR">SQL_TSI_HOUR</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSQLTSIDAY">SQL_TSI_DAY</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSQLTSIWEEK">SQL_TSI_WEEK</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSQLTSIMONTH">SQL_TSI_MONTH</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSQLTSIQUARTER">SQL_TSI_QUARTER</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSQLTSIYEAR">SQL_TSI_YEAR</a></td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A time interval keyword.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">SQL_TSI_HOUR</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-nonnumericliteral%23usagenonNumericLiteral%3A%3A%3D"></a><a name="BNFforSQLGrammar-nonNumericLiteral"></a><em><a href="#BNFforSQLGrammar-usagenonNumericLiteral">non numeric literal</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-stringVal">string</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tokenBINARYSTRINGVAL">binary string literal</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenFALSE">FALSE</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenTRUE">TRUE</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenUNKNOWN">UNKNOWN</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenNULL">NULL</a></td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( &lt;<a href="#BNFforSQLGrammar-tokenESCAPEDTYPE">escaped type</a>&gt; &lt;<a href="#BNFforSQLGrammar-stringVal">string</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRBRACE">rbrace</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>An escaped or simple non numeric literal.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">'a'</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-unsignednumericliteral%23usageunsignedNumericLiteral%3A%3A%3D"></a><a name="BNFforSQLGrammar-unsignedNumericLiteral"></a><em><a href="#BNFforSQLGrammar-usageunsignedNumericLiteral">unsigned numeric literal</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tokenUNSIGNEDINTEGER">unsigned integer literal</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tokenFLOATVAL">approximate numeric literal</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tokenDECIMALVAL">decimal numeric literal</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>An unsigned numeric literal value.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">1.234</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-ddlstatement%23usageddlStmt%3A%3A%3D"></a><a name="BNFforSQLGrammar-ddlStmt"></a><em><a href="#BNFforSQLGrammar-usageddlStmt">ddl statement</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( &lt;<a href="#BNFforSQLGrammar-createTable">create table</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-createDDLProcedure">create procedure</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-createNameSpace">option namespace</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-alterStatement">alter options</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-createTrigger">create trigger</a>&gt; ) ( &lt;<a href="#BNFforSQLGrammar-tokenSEMICOLON">semicolon</a>&gt; )?</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A data definition statement.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">CREATE FOREIGN TABLE X (Y STRING)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-optionnamespace%23usagecreateNameSpace%3A%3A%3D"></a><a name="BNFforSQLGrammar-createNameSpace"></a><em><a href="#BNFforSQLGrammar-usagecreateNameSpace">option namespace</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenSET">SET</a> <a href="#BNFforSQLGrammar-tokenNAMESPACE">NAMESPACE</a> &lt;<a href="#BNFforSQLGrammar-stringVal">string</a>&gt; <a href="#BNFforSQLGrammar-tokenAS">AS</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A namespace used to shorten the full name of an option key.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">SET NAMESPACE 'http://foo' AS foo</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-createprocedure%23usagecreateDDLProcedure%3A%3A%3D"></a><a name="BNFforSQLGrammar-createDDLProcedure"></a><em><a href="#BNFforSQLGrammar-usagecreateDDLProcedure">create procedure</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenCREATE">CREATE</a> ( <a href="#BNFforSQLGrammar-tokenVIRTUAL">VIRTUAL</a> &#124; <a href="#BNFforSQLGrammar-tokenFOREIGN">FOREIGN</a> )? ( <a href="#BNFforSQLGrammar-tokenPROCEDURE">PROCEDURE</a> &#124; <a href="#BNFforSQLGrammar-tokenFUNCTION">FUNCTION</a> ) ( &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-procedureParameter">procedure parameter</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-procedureParameter">procedure parameter</a>&gt; )&#42; )? &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; ( <a href="#BNFforSQLGrammar-tokenRETURNS">RETURNS</a> ( ( ( <a href="#BNFforSQLGrammar-tokenTABLE">TABLE</a> )? &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-procedureRsColumn">procedure result column</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-procedureRsColumn">procedure result column</a>&gt; )&#42; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; ) &#124; &lt;<a href="#BNFforSQLGrammar-parseDataType">data type</a>&gt; ) )? ( &lt;<a href="#BNFforSQLGrammar-optionsClause">options clause</a>&gt; )? ( <a href="#BNFforSQLGrammar-tokenAS">AS</a> &lt;<a href="#BNFforSQLGrammar-statement">statement</a>&gt; )? )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Defines a procedure or function invocation.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">CREATE FOREIGN PROCEDURE proc (param STRING) RETURNS STRING</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-procedureparameter%23usageprocedureParameter%3A%3A%3D"></a><a name="BNFforSQLGrammar-procedureParameter"></a><em><a href="#BNFforSQLGrammar-usageprocedureParameter">procedure parameter</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenIN">IN</a> &#124; <a href="#BNFforSQLGrammar-tokenOUT">OUT</a> &#124; <a href="#BNFforSQLGrammar-tokenINOUT">INOUT</a> &#124; <a href="#BNFforSQLGrammar-tokenVARIADIC">VARIADIC</a> )? &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; &lt;<a href="#BNFforSQLGrammar-parseDataType">data type</a>&gt; ( <a href="#BNFforSQLGrammar-tokenNOT">NOT</a> <a href="#BNFforSQLGrammar-tokenNULL">NULL</a> )? ( <a href="#BNFforSQLGrammar-tokenRESULT">RESULT</a> )? ( <a href="#BNFforSQLGrammar-tokenDEFAULTKEYWORD">DEFAULT</a> &lt;<a href="#BNFforSQLGrammar-stringVal">string</a>&gt; )? ( &lt;<a href="#BNFforSQLGrammar-optionsClause">options clause</a>&gt; )?</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A procedure or function parameter</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">OUT x INTEGER</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-procedureresultcolumn%23usageprocedureRsColumn%3A%3A%3D"></a><a name="BNFforSQLGrammar-procedureRsColumn"></a><em><a href="#BNFforSQLGrammar-usageprocedureRsColumn">procedure result column</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; &lt;<a href="#BNFforSQLGrammar-parseDataType">data type</a>&gt; ( <a href="#BNFforSQLGrammar-tokenNOT">NOT</a> <a href="#BNFforSQLGrammar-tokenNULL">NULL</a> )? ( &lt;<a href="#BNFforSQLGrammar-optionsClause">options clause</a>&gt; )?</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A procedure result column.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">x INTEGER</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-createtable%23usagecreateTable%3A%3A%3D"></a><a name="BNFforSQLGrammar-createTable"></a><em><a href="#BNFforSQLGrammar-usagecreateTable">create table</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenCREATE">CREATE</a> ( ( <a href="#BNFforSQLGrammar-tokenFOREIGN">FOREIGN</a> <a href="#BNFforSQLGrammar-tokenTABLE">TABLE</a> ) &#124; ( ( <a href="#BNFforSQLGrammar-tokenVIRTUAL">VIRTUAL</a> )? <a href="#BNFforSQLGrammar-tokenVIEW">VIEW</a> ) &#124; ( <a href="#BNFforSQLGrammar-tokenGLOBAL">GLOBAL</a> <a href="#BNFforSQLGrammar-tokenTEMPORARY">TEMPORARY</a> <a href="#BNFforSQLGrammar-tokenTABLE">TABLE</a> ) ) &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-createTableBody">create table body</a>&gt; &#124; ( &lt;<a href="#BNFforSQLGrammar-optionsClause">options clause</a>&gt; )? ) ( <a href="#BNFforSQLGrammar-tokenAS">AS</a> &lt;<a href="#BNFforSQLGrammar-queryExpression">query expression</a>&gt; )?</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Defines a table or view.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">CREATE VIEW vw AS SELECT 1</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-createforeigntemptable%23usagecreateForeignTempTable%3A%3A%3D"></a><a name="BNFforSQLGrammar-createForeignTempTable"></a><em><a href="#BNFforSQLGrammar-usagecreateForeignTempTable">create foreign temp table</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenCREATE">CREATE</a> ( <a href="#BNFforSQLGrammar-tokenLOCAL">LOCAL</a> )? <a href="#BNFforSQLGrammar-tokenFOREIGN">FOREIGN</a> <a href="#BNFforSQLGrammar-tokenTEMPORARY">TEMPORARY</a> <a href="#BNFforSQLGrammar-tokenTABLE">TABLE</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; &lt;<a href="#BNFforSQLGrammar-createTableBody">create table body</a>&gt; <a href="#BNFforSQLGrammar-tokenON">ON</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Defines a foreign temp table</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">CREATE FOREIGN TEMPORARY TABLE t (x string) ON z</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-createtablebody%23usagecreateTableBody%3A%3A%3D"></a><a name="BNFforSQLGrammar-createTableBody"></a><em><a href="#BNFforSQLGrammar-usagecreateTableBody">create table body</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-createColumn">table element</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-createColumn">table element</a>&gt; )&#42; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; ( <a href="#BNFforSQLGrammar-tokenCONSTRAINT">CONSTRAINT</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; )? ( &lt;<a href="#BNFforSQLGrammar-primaryKey">primary key</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-constraint">other constraints</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-foreignKey">foreign key</a>&gt; ) ( &lt;<a href="#BNFforSQLGrammar-optionsClause">options clause</a>&gt; )? )&#42; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-optionsClause">options clause</a>&gt; )?</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Defines a table.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">(x string) OPTIONS (CARDINALITY 100)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-foreignkey%23usageforeignKey%3A%3A%3D"></a><a name="BNFforSQLGrammar-foreignKey"></a><em><a href="#BNFforSQLGrammar-usageforeignKey">foreign key</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenFOREIGN">FOREIGN</a> <a href="#BNFforSQLGrammar-tokenKEY">KEY</a> &lt;<a href="#BNFforSQLGrammar-columnList">column list</a>&gt; <a href="#BNFforSQLGrammar-tokenREFERENCES">REFERENCES</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-columnList">column list</a>&gt; )?</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Defines the foreign key referential constraint.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">FOREIGN KEY (a, b) REFERENCES tbl (x, y)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-primarykey%23usageprimaryKey%3A%3A%3D"></a><a name="BNFforSQLGrammar-primaryKey"></a><em><a href="#BNFforSQLGrammar-usageprimaryKey">primary key</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenPRIMARY">PRIMARY</a> <a href="#BNFforSQLGrammar-tokenKEY">KEY</a> &lt;<a href="#BNFforSQLGrammar-columnList">column list</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Defines the primary key.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">PRIMARY KEY (a, b)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-otherconstraints%23usageconstraint%3A%3A%3D"></a><a name="BNFforSQLGrammar-constraint"></a><em><a href="#BNFforSQLGrammar-usageconstraint">other constraints</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( ( <a href="#BNFforSQLGrammar-tokenUNIQUE">UNIQUE</a> &#124; <a href="#BNFforSQLGrammar-tokenACCESSPATTERN">ACCESSPATTERN</a> ) &lt;<a href="#BNFforSQLGrammar-columnList">column list</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenINDEX">INDEX</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-expressionList">expression list</a>&gt; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Defines ACCESSPATTERN and UNIQUE constraints and INDEXes. </p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">UNIQUE (a)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-columnlist%23usagecolumnList%3A%3A%3D"></a><a name="BNFforSQLGrammar-columnList"></a><em><a href="#BNFforSQLGrammar-usagecolumnList">column list</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; )&#42; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A list of column names.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">(a, b)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-tableelement%23usagecreateColumn%3A%3A%3D"></a><a name="BNFforSQLGrammar-createColumn"></a><em><a href="#BNFforSQLGrammar-usagecreateColumn">table element</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; ( <a href="#BNFforSQLGrammar-tokenSERIAL">SERIAL</a> &#124; ( &lt;<a href="#BNFforSQLGrammar-parseDataType">data type</a>&gt; ( <a href="#BNFforSQLGrammar-tokenNOT">NOT</a> <a href="#BNFforSQLGrammar-tokenNULL">NULL</a> )? ( <a href="#BNFforSQLGrammar-tokenAUTOINCREMENT">AUTO_INCREMENT</a> )? ) ) ( ( <a href="#BNFforSQLGrammar-tokenPRIMARY">PRIMARY</a> <a href="#BNFforSQLGrammar-tokenKEY">KEY</a> ) &#124; ( ( <a href="#BNFforSQLGrammar-tokenUNIQUE">UNIQUE</a> )? ( <a href="#BNFforSQLGrammar-tokenINDEX">INDEX</a> )? ) ) ( <a href="#BNFforSQLGrammar-tokenDEFAULTKEYWORD">DEFAULT</a> &lt;<a href="#BNFforSQLGrammar-stringVal">string</a>&gt; )? ( &lt;<a href="#BNFforSQLGrammar-optionsClause">options clause</a>&gt; )?</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>Defines a table column.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">x INTEGER NOT NULL</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-optionsclause%23usageoptionsClause%3A%3A%3D"></a><a name="BNFforSQLGrammar-optionsClause"></a><em><a href="#BNFforSQLGrammar-usageoptionsClause">options clause</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenOPTIONS">OPTIONS</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; &lt;<a href="#BNFforSQLGrammar-optionPair">option pair</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; &lt;<a href="#BNFforSQLGrammar-optionPair">option pair</a>&gt; )&#42; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>A list of statement options.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">OPTIONS ('x' 'y', 'a' 'b')</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-optionpair%23usageoptionPair%3A%3A%3D"></a><a name="BNFforSQLGrammar-optionPair"></a><em><a href="#BNFforSQLGrammar-usageoptionPair">option pair</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>&lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-nonNumericLiteral">non numeric literal</a>&gt; &#124; ( &lt;<a href="#BNFforSQLGrammar-plusMinus">plus or minus</a>&gt; )? &lt;<a href="#BNFforSQLGrammar-unsignedNumericLiteral">unsigned numeric literal</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>An option key/value pair.</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">'key' 'value'</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-alteroptions%23usagealterStatement%3A%3A%3D"></a><a name="BNFforSQLGrammar-alterStatement"></a><em><a href="#BNFforSQLGrammar-usagealterStatement">alter options</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenALTER">ALTER</a> ( <a href="#BNFforSQLGrammar-tokenVIRTUAL">VIRTUAL</a> &#124; <a href="#BNFforSQLGrammar-tokenFOREIGN">FOREIGN</a> )? ( <a href="#BNFforSQLGrammar-tokenTABLE">TABLE</a> &#124; <a href="#BNFforSQLGrammar-tokenVIEW">VIEW</a> &#124; <a href="#BNFforSQLGrammar-tokenPROCEDURE">PROCEDURE</a> ) &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-alterOptionsList">alter options list</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-alterColumn">alter column options</a>&gt; )</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>alters options of tables/procedure</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">ALTER FOREIGN TABLE foo OPTIONS (ADD cardinality 100)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-alteroptionslist%23usagealterOptionsList%3A%3A%3D"></a><a name="BNFforSQLGrammar-alterOptionsList"></a><em><a href="#BNFforSQLGrammar-usagealterOptionsList">alter options list</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenOPTIONS">OPTIONS</a> &lt;<a href="#BNFforSQLGrammar-tokenLPAREN">lparen</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-addSetOption">add set option</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-dropOption">drop option</a>&gt; ) ( &lt;<a href="#BNFforSQLGrammar-tokenCOMMA">comma</a>&gt; ( &lt;<a href="#BNFforSQLGrammar-addSetOption">add set option</a>&gt; &#124; &lt;<a href="#BNFforSQLGrammar-dropOption">drop option</a>&gt; ) )&#42; &lt;<a href="#BNFforSQLGrammar-tokenRPAREN">rparen</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>a list of alterations to options</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">OPTIONS (ADD updatable true)</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-dropoption%23usagedropOption%3A%3A%3D"></a><a name="BNFforSQLGrammar-dropOption"></a><em><a href="#BNFforSQLGrammar-usagedropOption">drop option</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenDROP">DROP</a> &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>drop option</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">DROP updatable</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-addsetoption%23usageaddSetOption%3A%3A%3D"></a><a name="BNFforSQLGrammar-addSetOption"></a><em><a href="#BNFforSQLGrammar-usageaddSetOption">add set option</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'>( <a href="#BNFforSQLGrammar-tokenADD">ADD</a> &#124; <a href="#BNFforSQLGrammar-tokenSET">SET</a> ) &lt;<a href="#BNFforSQLGrammar-optionPair">option pair</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>add or set an option pair</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">ADD updatable true</pre>
</div></div>


<hr />

<h3><a name="BNFforSQLGrammar-altercolumnoptions%23usagealterColumn%3A%3A%3D"></a><a name="BNFforSQLGrammar-alterColumn"></a><em><a href="#BNFforSQLGrammar-usagealterColumn">alter column options</a></em> ::=</h3>
<ul class="alternate" type="square">
        <li><div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'><a href="#BNFforSQLGrammar-tokenALTER">ALTER</a> ( <a href="#BNFforSQLGrammar-tokenCOLUMN">COLUMN</a> &#124; <a href="#BNFforSQLGrammar-tokenPARAMETER">PARAMETER</a> )? &lt;<a href="#BNFforSQLGrammar-id">identifier</a>&gt; &lt;<a href="#BNFforSQLGrammar-alterOptionsList">alter options list</a>&gt;</td>
</tr>
</tbody></table>
</div>
</li>
</ul>


<p>alters a set of column options</p>


<p>Example:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="theme: Confluence; brush: sql; gutter: false" style="font-size:12px; font-family: ConfluenceInstalledFont,monospace;">ALTER COLUMN bar OPTIONS (ADD updatable true)</pre>
</div></div>


<hr />
    </div>
        <div id="commentsSection" class="wiki-content pageSection">
        <div style="float: right;" class="grey">
                        <a href="https://docs.jboss.org/author/users/removespacenotification.action?spaceKey=TEIID">Stop watching space</a>
            <span style="padding: 0px 5px;">|</span>
                <a href="https://docs.jboss.org/author/users/editmyemailsettings.action">Change email notification preferences</a>
</div>
        <a href="https://docs.jboss.org/author/display/TEIID/BNF+for+SQL+Grammar">View Online</a>
        |
        <a href="https://docs.jboss.org/author/pages/diffpagesbyversion.action?pageId=18646304&revisedVersion=28&originalVersion=27">View Changes</a>
                |
        <a href="https://docs.jboss.org/author/display/TEIID/BNF+for+SQL+Grammar?showComments=true&amp;showCommentArea=true#addcomment">Add Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>