Partager via


Grammaire minimale de SQL

Cette section décrit la syntaxe SQL minimale qu’un pilote ODBC doit prendre en charge. La syntaxe décrite dans cette section est un sous-ensemble de la syntaxe de niveau d’entrée de SQL-92.

Une application peut utiliser l’une des syntaxes de cette section et être assurée que tout pilote compatible ODBC prendra en charge cette syntaxe. Pour déterminer si les fonctionnalités supplémentaires de SQL-92 qui ne figurent pas dans cette section sont prises en charge, l’application doit appeler SQLGetInfo avec le type d’informations SQL_SQL_CONFORMANCE. Même si le pilote n’est conforme à aucun niveau de conformité SQL-92, une application peut toujours utiliser la syntaxe décrite dans cette section. Si un pilote est conforme à un niveau SQL-92, en revanche, il prend en charge toutes les syntaxes incluses dans ce niveau. Cela inclut la syntaxe de cette section, car la grammaire minimale décrite ici est un sous-ensemble pur du niveau de conformité SQL-92 le plus bas. Une fois que l’application connaît le niveau SQL-92 pris en charge, elle peut déterminer si une fonctionnalité de niveau supérieur est prise en charge (le cas échéant) en appelant SQLGetInfo avec le type d’informations individuel correspondant à cette fonctionnalité.

Les pilotes qui fonctionnent uniquement avec des sources de données en lecture seule peuvent ne pas prendre en charge les parties de la grammaire incluses dans cette section qui traitent de la modification des données. Une application peut déterminer si une source de données est en lecture seule en appelant SQLGetInfo avec le type d’informations SQL_DATA_SOURCE_READ_ONLY.

.

create-table-statement ::=

CREATE TABLE base-table-name

(column-identifier data-type [,column-identifier data-type]...)

Important

En tant que type de données dans une instruction create-table, les applications doivent utiliser un type de données de la colonne TYPE_NAME du jeu de résultats retourné par SQLGetTypeInfo.

delete-statement-searched ::=

DELETE FROM table-name [WHERE search-condition]

drop-table-statement ::=

DROP TABLE base-table-name

insert-statement ::=

INSERT INTO table-name [( column-identifier [, column-identifier]...)] VALEURS (insert-value[, insert-value]... )

select-statement ::=

SELECT [ALL | DISTINCT] select-list

FROM table-reference-list

[WHERE search-condition]

[order-by-clause]

instruction ::= create-table-statement

| delete-statement-searched

| drop-table-statement

| insert-statement

| select-statement

| update-statement-searched

update-statement-searched

UPDATE table-name

SET column-identifier = {expression | NULL }

[, column-identifier = {expression | NULL}]...

[WHERE search-condition]

Cette section contient les rubriques suivantes :