Gramática SQL mínima

Esta seção descreve a sintaxe SQL mínima que um driver ODBC deve suportar. A sintaxe descrita nesta seção é um subconjunto da sintaxe de nível de entrada do SQL-92.

Um aplicativo pode usar qualquer sintaxe nesta seção e ter certeza de que qualquer driver compatível com ODBC dará suporte a essa sintaxe. Para determinar se há suporte para recursos adicionais do SQL-92 que não estão nesta seção, o aplicativo deve chamar SQLGetInfo com o tipo de informação SQL_SQL_CONFORMANCE. Mesmo que o driver não esteja em conformidade com nenhum nível de conformidade SQL-92, um aplicativo ainda poderá usar a sintaxe descrita nesta seção. Se um driver estiver em conformidade com um nível SQL-92, por outro lado, ele dará suporte a toda a sintaxe incluída nesse nível. Isso inclui a sintaxe nesta seção porque a gramática mínima descrita aqui é um subconjunto puro do nível de conformidade SQL-92 mais baixo. Depois que o aplicativo souber o nível SQL-92 com suporte, ele poderá determinar se há suporte para um recurso de nível superior (se houver) chamando SQLGetInfo com o tipo de informação individual correspondente a esse recurso.

Os drivers que funcionam apenas com fontes de dados somente leitura podem não dar suporte às partes da gramática incluídas nesta seção que lidam com a alteração de dados. Um aplicativo pode determinar se uma fonte de dados é somente leitura chamando SQLGetInfo com o tipo de informação SQL_DATA_SOURCE_READ_ONLY.

Instrução

instrução de tabela de criação ::=

CREATE TABLE nome-da-tabela-base

(tipo de dados do identificador de coluna [,tipo de dados do identificador de coluna]...)

Importante

Como um tipo de dados em uma instrução create-table, os aplicativos devem usar um tipo de dados da coluna TYPE_NAME do conjunto de resultados retornado por SQLGetTypeInfo.

instrução de exclusão pesquisada ::=

DELETE FROM nome da tabela [WHERE condição de pesquisa]

declaração de tabela suspensa ::=

DROP TABLE nome-da-tabela-base

instrução de inserção ::=

INSERT INTO nome-da-tabela [( identificador-de-coluna [, identificador-de-coluna]...)] VALUES (inserir-valor[, inserir-valor]... )

select-statement ::=

SELECIONE [TODOS | DISTINCT] lista de seleção

FROM lista de referências de tabela

[ONDE condição de pesquisa]

[ordem por cláusula]

instrução ::= instrução create-table

| instrução de exclusão pesquisada

| instrução de tabela suspensa

| instrução de inserção

| instrução select

| instrução de atualização pesquisada

instrução de atualização pesquisada

UPDATE nome da tabela

SET identificador de coluna = {expressão | NULO }

[, identificador de coluna = {expressão | NULL}]...

[ONDE condição de pesquisa]

Esta seção contém os tópicos a seguir.