SQL 最低语法

本部分介绍 ODBC 驱动程序必须支持的最低 SQL 语法。 本部分所述的语法是 SQL-92 的入口级语法的子集。

应用程序可以使用本节中的任何语法,并确保任何符合 ODBC 的驱动程序都支持该语法。 若要确定是否支持本部分中不支持 SQL-92 的其他功能,应用程序应使用SQL_SQL_CONFORMANCE信息类型调用 SQLGetInfo 。 即使驱动程序不符合任何 SQL-92 一致性级别,应用程序仍可以使用本节中所述的语法。 另一方面,如果驱动程序符合 SQL-92 级别,则它支持该级别中包含的所有语法。 这包括本节中的语法,因为此处所述的最低语法是最低 SQL-92 一致性级别的纯子集。 一旦应用程序知道支持的 SQL-92 级别,它就可以通过使用与该功能对应的单个信息类型调用 SQLGetInfo 来确定是否支持更高级别的功能 (是否有任何) 。

仅适用于只读数据源的驱动程序可能不支持本节中包含的处理数据更改的语法部分。 应用程序可以通过调用具有SQL_DATA_SOURCE_READ_ONLY信息类型的 SQLGetInfo 来确定数据源是否为只读。

语句

create-table-statement ::=

CREATE TABLE base-table-name

(列标识符数据类型 [,列标识符数据类型]...)

重要

作为 create-table-statement 中的数据类型,应用程序必须使用 SQLGetTypeInfo 返回的结果集TYPE_NAME列中的数据类型。

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]

statement ::= create-table-statement

| delete-statement-searched

| drop-table-statement

| insert-statement

| select-statement

| update-statement-searched

update-statement-searched

UPDATE table-name

SET 列标识符 = {expression |NULL }

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

[WHERE search-condition]

本部分包含以下主题。