Access - criacao de indices, |
Top Previous Next |
|
Eu uso um objeto TQuery e faço duas sentenças SQL para remover o índice, prevendo alteração e outra para criar
qryOut.SQL.Clear; qryOut.SQL.Add('DROP INDEX ' + 'ndxNomeDoIndice' + ' ON ' + 'NomeDaTabela'); try qryOut.ExecSQL; except end;
// cTipo pode conter 'P' para índice primário ou 'U' para chave não duplicada
qryOut.SQL.Clear; if (pos('P', cTipo) = 0) and (pos('U', cTipo) > 0) then qryOut.SQL.Add('CREATE UNIQUE INDEX ') else qryOut.SQL.Add('CREATE INDEX ');
qryOut.SQL.ADD('ndxNomeDoIndice' + ' ON ' + 'NomeDaTabela' + ' (' + 'Campos,que,compoem,o,indice' + ')') if pos('P', cTipo) > 0 then qryOut.SQL.Text := qryOut.SQL.Text + ' WITH PRIMARY'; qryOut.ExecSQL; |