Crea un nuovo indice in una tabella esistente.
Nota: Per i database non di Microsoft Access, il motore di database di Microsoft Access non supporta l'uso di CREATE INDEX (tranne per la creazione di un pseudoindice in un database ODBC tabella collegata) o delle istruzioni DDL (Data Definition Language). Usare invece i metodi DAO Create. Per altre informazioni, vedere la sezione Osservazioni.
Sintassi
CREATE [ UNIQUE ] INDEX indice
ON tabella (campo [ASC|DESC][, campo [ASC|DESC], ...])
[WITH { PRIMARY | DISALLOW NULL | IGNORE NULL }]
L'istruzione CREATE INDEX è composta dalle parti seguenti:
Parte |
Descrizione |
indice |
Il nome dell'indice da creare. |
tabella |
Il nome della tabella esistente che conterrà l'indice. |
campo |
Nome del campo o dei campi da indicizzare. Per creare un indice a campo singolo, elencare il nome del campo tra parentesi dopo il nome della tabella. Per creare un indice multicampo, elencare il nome di ogni campo da includere nell'indice. Per creare indici decrescenti, utilizzare la parola riservata DESC; in caso contrario, si presuppone che gli indici siano crescente. |
Osservazioni
Per evitare valori duplicati nel campo o nei campi indicizzati di record diversi, usare la parola riservata UNIQUE.
Nella clausola facoltativa WITH è possibile applicare regole di convalida dei dati. È possibile:
-
Impedire l'inserimento di voci Null nel campo o nei campi indicizzati dei nuovi record usando l'opzione DISALLOW NULL.
-
Evitare che i record che contengono valori Null nel campo o nei campi indicizzati siano inclusi nell'indice usando l'opzione IGNORE NULL.
-
Specificare il campo o i campi indicizzati come chiave primaria usando la parola riservata PRIMARY. Questo implica che la chiave è univoca, quindi è possibile omettere la parola riservata UNIQUE.
È possibile usare CREATE INDEX per creare uno pseudoindice in una tabella collegata in un'origine dati ODBC, ad esempio Microsoft® SQL Server™, in cui non è già presente un indice. Non è necessario l'accesso o l'autorizzazione per il server remoto per creare uno pseudoindice e il database remoto non rileva e non è interessato dallo pseudoindice. Si usa stessa sintassi sia per le tabelle collegate che per quelle native. Può essere molto utile creare uno pseudoindice in una tabella che normalmente sarebbe di sola lettura.
È anche possibile usare l'istruzione ALTER TABLE per aggiungere un indice a campo singolo o multicampo a una tabella e un'istruzione ALTER TABLE o DROP per rimuovere un indice creato con ALTER TABLE o CREATE INDEX.
Nota: Non usare la parola riservata PRIMARY quando si crea un nuovo indice per una tabella che contiene già una chiave primaria. In caso contrario, si verificherà un errore.