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 Basistisch-Name

(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 VON Tabellenname [WO Suchbedingung]

Drop-table-Statement ::=

DROP TABLE Basistisch-Name

insert-statement ::=

INSERT INTO Tabellenname [( Spalten-Identifikator [, Spalten-Identifikator]...)] WERTE (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-gesucht

update-statement-searched

UPDATE Tabellenname

SET Spalten-Identifikator = {Ausdruck | NULL }

[, Spaltenbezeichner = {Ausdruck | NULL}]...

[WHERE-Suchbedingung]

In diesem Abschnitt werden die folgenden Themen behandelt: