Поделиться через


Минимальная грамматика SQL

В этом разделе описывается минимальный синтаксис SQL, который должен поддерживать драйвер ODBC. Синтаксис, описанный в этом разделе, представляет собой подмножество синтаксиса уровня входа SQL-92.

Приложение может использовать любой из синтаксиса в этом разделе и убедиться, что любой драйвер, совместимый с ODBC, будет поддерживать этот синтаксис. Чтобы определить, поддерживаются ли дополнительные функции SQL-92 не в этом разделе, приложение должно вызвать SQLGetInfo с типом сведений SQL_SQL_CONFORMANCE. Даже если драйвер не соответствует ни одному уровню соответствия SQL-92, приложение по-прежнему может использовать синтаксис, описанный в этом разделе. Если драйвер соответствует уровню SQL-92, с другой стороны, он поддерживает все синтаксисы, включенные в этот уровень. Это включает синтаксис в этом разделе, так как минимальная грамматика, описанная здесь, является чистой подмножеством самого низкого уровня соответствия SQL-92. После того как приложение знает поддерживаемый уровень SQL-92, он может определить, поддерживается ли функция более высокого уровня (при наличии), вызвав SQLGetInfo с отдельным типом информации, соответствующим этой функции.

Драйверы, работающие только с источниками данных только для чтения, могут не поддерживать эти части грамматики, включенные в этот раздел, с изменением данных. Приложение может определить, доступен ли источник данных только для чтения, вызвав SQLGetInfo с типом сведений SQL_DATA_SOURCE_READ_ONLY.

Оператор

create-table-statement ::=

CREATE TABLE base-table-name

(тип данных идентификатора столбца [,тип данных идентификатора столбца]...)

Внимание

В качестве типа данных в инструкции create-table-application приложения должны использовать тип данных из столбца TYPE_NAME результирующий набор, возвращаемый SQLGetTypeInfo.

delete-statement-searched ::=

DELETE FROM table-name [WHERE search-condition]

drop-table-statement ::=

DROP TABLE base-table-name

insert-statement ::=

INSERT IN TABLE-name [( column-identifier [, column-identifier]...)] VALUE (insert-value[, insert-value]...)

select-statement ::=

SELECT [ALL | DISTINCT] select-list

FROM table-reference-list

[условие поиска WHERE]

[предложение по заказам]

оператор ::= create-table-statement

| Delete-statement-searched

| drop-table-statement

| Инструкция insert-

| Оператор select-

| update-statement-searched

update-statement-searched

UPDATE table-name

SET column-identifier = {expression | NULL }

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

[условие поиска WHERE]

Этот раздел содержит следующие подразделы.