Freigeben über


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: