Grammaire minimale de SQL
Cette section décrit la syntaxe SQL minimale prise en charge par un pilote ODBC. La syntaxe décrite dans cette section est un sous-ensemble de la syntaxe de niveau 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 prend en charge cette syntaxe. Pour déterminer si des fonctionnalités supplémentaires de SQL-92 ne sont pas prises en charge dans cette section, 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. En revanche, si un pilote est conforme à un niveau SQL-92, 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
(type de données column-identifier [,type de données column-identifier]...)
Important
En tant que type de données dans une instruction create-table, les applications doivent utiliser un type de données à partir 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]...)] VALUES (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 :