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.