Compartilhar via


Sintaxe de DBPROPVAL_SQL_SUBMINIMUM

Os requisitos de DBPROPVAL_SQL_SUBMINIMUM são que o provedor ofereça suporte a recursos de DBPROPVAL_SQL_ODBC_MINIMUM, com as seguintes diferenças:

  • Recursos de DBPROPVAL_SQL_ODBC_MINIMUM, mas não de DBPROPVAL_SQL_SUBMINIMUM:

    Instruções DDL; instruções INSERT, UPDATE e DELETE; marcadores de parâmetro dinâmico; e várias tabelas na cláusula FROM.

  • Recursos de DBPROPVAL_SQL_SUBMINIMUM, mas não de DBPROPVAL_SQL_ODBC_MINIMUM:

    Alias de colunas na lista de seleção; e predicado IS [NOT] NULL de constantes numéricas inteiras e exatas.

Embora a gramática de DBPROPVAL_SQL_SUBMINIMUM esteja definida em relação a DBPROPVAL_SQL_ODBC_MINIMUM, o otimizador de consultas distribuídas do SQL Server nunca testa DBPROPVAL_SQL_ODBC_MINIMUM.

A gramática de DBPROPVAL_SQL_SUBMINIMUM usa as seguintes convenções.

Convenção

Usada para

MAIÚSCULAS

Palavras-chave do SQL.

itálico

Parâmetros fornecidos pelo usuário na sintaxe SQL.

| (barra vertical)

Separa os itens de sintaxe entre colchetes ou entre chaves. É possível escolher apenas um desses itens.

[ ] (colchetes)

Itens de sintaxe opcionais. Não digite os colchetes.

{ } (chaves)

Itens de sintaxe obrigatórios. Não digite as chaves.

[,...n]

Indica que o item precedente pode ser repetido n vezes. As ocorrências são separadas por vírgulas.

[ ...n]

Indica que o item precedente pode ser repetido n vezes. As ocorrências são separadas por espaços em branco.

<rótulo>:: =

Nome de um bloco de sintaxe. Essa convenção é usada para agrupar e rotular partes de sintaxe extensa ou uma unidade de sintaxe que pode ser usada em mais de um local dentro de uma instrução. Cada local no qual o bloco de sintaxe pode ser usado é indicado com o rótulo entre divisas: <rótulo>.

A gramática de sintaxe de DBPROPVAL_SQL_SUBMINIMUM a seguir é esperada pelo SQL Server:

<select_statement> ::=
    SELECT [ALL | DISTINCT] <select_list>
    FROM <table_reference_list>
    [WHERE <search_condition>]
    [<order_by_clause>]

Cláusula SELECT

<select_list> ::=     
    * | <select_sublist>[,...n]

<select_sublist> ::=
    <expression> [<alias>]

<alias> ::=          
    <user_defined_name>

Cláusula FROM

<table_reference_list> ::=
    <table_reference>

<table_reference> ::=
    <table_name>

<table_name> ::=
    <table_identifier>

<table_identifier> ::=
    <user_defined_name>

Cláusula WHERE

<search_condition> ::=
    <boolean_term> [OR <search_condition>]

<boolean_term> ::=
    <boolean_factor> [AND <boolean_term>]

<boolean_factor> ::=
    [NOT] <boolean_primary>

<boolean_primary> ::=
    <comparison_predicate> | <search_condition>

<comparison_predicate> ::=
    <expression> <comparison_operator> <expression>
    | <expression> IS [NOT] NULL

<comparison_operator> ::=
     < | > | <= | >= | = | <>

Cláusula ORDER BY

<order_by_clause> ::=
    ORDER BY <sort_specification>[,...n]

<sort_specification> ::=
    { | <column_name> } [ASC | DESC]

Elementos sintáticos comuns

<expression> ::=
    <term> | <expression> {+|_} <term>

<term> ::=          
    <factor> | <term> {*|/} <factor>

<factor>::=          
    [+|-] <primary>

<primary> ::=     
    <column_name> | <literal> | (<expression>)

<column_name> ::=
    [<table_name>].<column_identifier>

<literal> ::= 
    <character_string_literal>
    | <integer_literal>
    | <exact_numeric_literal>

<character_string_literal> ::=
    '{character}[...n]'

Caractere é qualquer caractere no conjunto de caracteres do provedor ou da fonte de dados. Use duas aspas simples (") para representar aspas simples (apóstrofe) na cadeia de caracteres literal.

<integer_literal> ::=
    [+|-] <unsigned_integer>

<exact_numeric_literal>::=
    [+|-] <unsigned_integer> [<period><unsigned_integer]
    | <period><unsigned_integer>

<column_identifier> ::=
    <user_defined_name>

<user_defined_name> ::=
    <letter>[<digit>|<letter>|_][...n]

<unsigned_integer> ::=
    {<digit>}[...n]

<digit> ::=
    0|1|2|3|4|5|6|7|8|9

<letter> ::=
    <lower_case_letter>|<upper_case_letter>

<lower_case_letter> ::=
    a|b|c|d|e|f|g|h|I|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|z

<upper_case_letter> ::=
    A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|X|Y|Z

<period> ::=
    .