Minimale SQL-Grammatik
In diesem Abschnitt wird die sql-Mindestsyntax beschrieben, die ein ODBC-Treiber unterstützen muss. Die in diesem Abschnitt beschriebene Syntax ist eine Teilmenge der Syntax der Einstiegsebene von SQL-92.
Eine Anwendung kann eine beliebige Syntax in diesem Abschnitt verwenden und sicher sein, dass jeder ODBC-kompatible Treiber diese Syntax unterstützt. Um festzustellen, ob zusätzliche Features von SQL-92 nicht in diesem Abschnitt unterstützt werden, sollte die Anwendung SQLGetInfo mit dem SQL_SQL_CONFORMANCE Informationstyp aufrufen. Auch wenn der Treiber keiner SQL-92-Konformitätsstufe entspricht, kann eine Anwendung weiterhin die in diesem Abschnitt beschriebene Syntax verwenden. Wenn ein Treiber einer SQL-92-Ebene entspricht, unterstützt er andererseits alle in dieser Ebene enthaltenen Syntaxen. Dies schließt die Syntax in diesem Abschnitt ein, da die hier beschriebene Mindestgrammatik eine reine Teilmenge der niedrigsten SQL-92-Konformitätsstufe ist. Sobald die Anwendung die unterstützte SQL-92-Ebene kennt, kann sie ermitteln, ob ein Feature auf höherer Ebene unterstützt wird (falls vorhanden), indem sqlGetInfo mit dem einzelnen Informationstyp aufgerufen wird, der diesem Feature entspricht.
Treiber, die nur mit schreibgeschützten Datenquellen funktionieren, unterstützen möglicherweise nicht diese Teile der In diesem Abschnitt enthaltenen Grammatik, die sich mit dem Ändern von Daten befassen. Eine Anwendung kann ermitteln, ob eine Datenquelle schreibgeschützt ist, indem Sie SQLGetInfo mit dem SQL_DATA_SOURCE_READ_ONLY Informationstyp aufrufen.
Anweisung
create-table-statement ::=
CREATE TABLE-Basistabellenname
(Datentyp des Spaltenbezeichners [;Datentyp des Spaltenbezeichners]...)
Wichtig
Als Datentyp in einer Create-Table-Anweisung müssen Anwendungen einen Datentyp aus der TYPE_NAME Spalte des von SQLGetTypeInfo zurückgegebenen Resultsets verwenden.
delete-statement-searched ::=
DELETE FROM table-name [WHERE search-condition]
drop-table-statement ::=
DROP TABLE-Basistabellenname
insert-statement ::=
INSERT INTO-Tabellenname [( Spaltenbezeichner [, Spaltenbezeichner]...)] VALUES (insert-value[, insert-value]... )
select-statement ::=
SELECT [ALLE | DISTINCT] Auswahlliste
FROM-Tabellenverweisliste
[WHERE-Suchbedingung]
[order-by-clause]
anweisung ::= create-table-statement
| delete-statement-searched
| drop-table-statement
| insert-statement
| Select-Anweisung
| update-statement-searched
update-statement-searched
UPDATE-Tabellenname
SET column-identifier = {expression | NULL }
[, Spaltenbezeichner = {Ausdruck | NULL}]...
[WHERE-Suchbedingung]
In diesem Abschnitt werden die folgenden Themen behandelt: