Sintaxis de DBPROPVAL_SQL_SUBMINIMUM

Los requisitos para DBPROPVAL_SQL_SUBMINIMUM son que el proveedor admita las características de DBPROPVAL_SQL_ODBC_MINIMUM, exceptuando lo siguiente:

  • Características en DBPROPVAL_SQL_ODBC_MINIMUM, pero no en DBPROPVAL_SQL_SUBMINIMUM:

    Instrucciones DDL; instrucciones INSERT, UPDATE y DELETE; marcadores de parámetros dinámicos; y múltiples tablas en la cláusula FROM.

  • Características en DBPROPVAL_SQL_SUBMINIMUM, pero no en DBPROPVAL_SQL_ODBC_MINIMUM:

    Alias de columnas en la lista seleccionada; y predicado IS [NOT] NULL de constantes numéricas de enteros y exactas.

Aunque la gramática de DBPROPVAL_SQL_SUBMINIMUM se define en relación con DBPROPVAL_SQL_ODBC_MINIMUM, el optimizador de consultas distribuidas de SQL Server nunca comprueba DBPROPVAL_SQL_ODBC_MINIMUM.

La gramática de DBPROPVAL_SQL_SUBMINIMUM sigue estas convenciones.

Convención

Se usa para

MAYÚSCULAS

Palabras clave de SQL.

Cursiva

Parámetros proporcionados por el usuario en la sintaxis SQL.

| (barra vertical)

Separa elementos de sintaxis dentro de corchetes o llaves. Sólo se puede elegir uno de los elementos.

[ ] (corchetes)

Elementos opcionales de sintaxis. No escriba los corchetes.

{ } (llaves)

Elementos obligatorios de sintaxis. No escriba las llaves.

[,...n]

Indica que el elemento anterior se puede repetir n veces. Las repeticiones van separadas por comas.

[ ...n]

Indica que el elemento anterior se puede repetir n veces. Las repeticiones van separadas por un espacio en blanco.

<etiqueta> ::=

Nombre de un bloque de sintaxis. Esta convención se utiliza para agrupar y asignar etiquetas a porciones de sintaxis largas o una unidad de sintaxis que se puede utilizar en más de un lugar dentro de una instrucción. Cada ubicación en que se puede utilizar el bloque de sintaxis se indica con la etiqueta situada entre comillas angulares: <etiqueta>.

SQL Server espera la siguiente gramática de la sintaxis de DBPROPVAL_SQL_SUBMINIMUM:

<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ácticos comunes

<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]'

Character es cualquier carácter del conjunto de caracteres del proveedor u origen de datos. Para indicar una comilla simple (apóstrofo) utilice dos comillas simples ('') en la cadena 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> ::=
    .