CREATE INDEX para Paradox
A sintaxe da instrução CREATE INDEX para o driver ODBC do Paradox é a seguinte:
CREATE [UNIQUE] INDEX nome do índice
ON nome da tabela
( identificador de coluna [ASC]
[, identificador de coluna [ASC]...])
O driver ODBC do Paradox não aceita a palavra-chave DESC na gramática SQL ODBC para a instrução CREATE INDEX. O argumento table-name pode especificar o caminho completo da tabela.
Se a palavra-chave UNIQUE for especificada, o driver ODBC do Paradox criará um índice exclusivo. O primeiro índice exclusivo é criado como um índice primário. Esse é um arquivo de chave primária do Paradox chamado table-name.PX. Os índices primários estão sujeitos às seguintes restrições:
O índice primário deve ser criado antes que qualquer linha seja adicionada à tabela.
Um índice primário deve ser definido para as primeiras "n" colunas em uma tabela.
É permitido apenas um índice primário por tabela.
Uma tabela não poderá ser atualizada pelo driver do Paradox se um índice primário não estiver definido nela. (Observe que isso não é válido para uma tabela vazia, que pode ser atualizada mesmo que um índice exclusivo não esteja definido nela)
O argumento index-name de um índice primário deve ser o mesmo que o nome base da tabela, conforme exigido pelo Paradox.
Se a palavra-chave UNIQUE for omitida, o driver ODBC do Paradox criará um índice não exclusivo. Isso consiste em dois arquivos de índice secundário do Paradox denominados table-name.Xnn e table-name.Ynn, em que nn é o número da coluna na tabela. Os índices não exclusivos estão sujeitos às seguintes restrições:
Antes que um índice não exclusivo possa ser criado para uma tabela, deve existir um índice primário para essa tabela.
No Paradox 3.x, o argumento index-name para qualquer índice que não seja primário (exclusivo ou não exclusivo) deve ser o mesmo que o nome da coluna. No Paradox 4.x e 5.x, o nome desse índice pode ser, embora isso não seja necessário, igual ao nome da coluna.
Somente uma coluna pode ser especificada para um índice não exclusivo.
Não será possível adicionar colunas depois que um índice tiver sido definido em uma tabela. Se a primeira coluna da lista de argumentos de uma instrução CREATE TABLE criar um índice, uma segunda coluna não poderá ser incluída na lista de argumentos.
Por exemplo, para usar as colunas de número de pedido de vendas e número de linha como índice exclusivo na tabela SO_LINES, use a instrução:
CREATE UNIQUE INDEX SO_LINES
ON SO_LINES (SONum, LineNum)
Para usar a coluna do número de peça como um índice não exclusivo na tabela SO_LINES, use a instrução:
CREATE INDEX PartNum
ON SO_LINES (PartNum)
Observe que quando duas instruções CREATE INDEX são executadas, a primeiro sempre criará um índice primário com o mesmo nome da tabela e a segunda sempre criará um índice não exclusivo com o mesmo nome da coluna. Esses índices serão nomeados dessa forma, mesmo que nomes diferentes sejam inseridos nas instruções CREATE INDEX e mesmo que o índice seja rotulado como UNIQUE na segunda instrução CREATE INDEX.
Observação
Quando você usa o driver Paradox sem implementar o Mecanismo de Banco de Dados Borland, somente instruções de leitura e acréscimo são permitidas.