PDA

Visualizza la versione completa : [DELPHI5] Tabella Paradox e Secondary Index


zephyr
05-10-2005, 08:58
Ciao,

come faccio a creare un indice secondario, di tipo unique, su una tabella paradox durante l'esecuzione del programma?
Ho già provato con una query ma non mi prende la clausola unique:


Create unique Index prog_index On Matricole (Articolo, MatrProgr)


di conseguenza l'ho realizzata senza quella clausola.
Però ho bisogno che l'indice lo sia: come posso fare?
sull'help trovo il modo di crearlo durante la creazione della tabella e non su una tabella già fatta.
è possibile o devo farlo a mano via database desktop?

Grazie.

zephyr
05-10-2005, 09:09
Ho trovato un modo con AddIndex ma mi dà un errore:
"Higher table level required"
cos'è?
come lo risolvo?

Grazie.

alka
05-10-2005, 09:46
Originariamente inviato da zephyr
è possibile o devo farlo a mano via database desktop?

Dato che Database Desktop ti fornisce un'interfaccia - anche se obsoleta - per aggiungere indici secondari, perchè non usare quella?

Usare il BDE al giorno d'oggi è alquanto pericoloso, poichè si tratta di una piattaforma obsoleta e deprecata da tempo. :stordita:

Ciao! :ciauz:

zephyr
05-10-2005, 09:54
Hai ragione sul BDE e me ne sto accorgendo a mie spese ...
io infatti sarei per fare tutto con Firebird/SQL Server ma quando ti trovi a dover modificare dei progetti già fatti ti devi adattare.
Cmq sia: mi hanno detto di creare un indice a run-time e per farlo ho appunto provato ad usare la AddIndex che mi restituisce quell'errore già citato. Cercando in internet ho trovato un'utility che mi permette di passare la tabella ad un livello in grado di farmi usare la AddIndex però, infatti c'è un però, se creo l'indice unique mi dà "Key violation" che non mi dà se lo creo case insensitive.
come posso procedere?

:ciauz:

alka
05-10-2005, 10:09
Originariamente inviato da zephyr
Hai ragione sul BDE e me ne sto accorgendo a mie spese ...
io infatti sarei per fare tutto con Firebird/SQL Server ma quando ti trovi a dover modificare dei progetti già fatti ti devi adattare.

Capisco, però si può facilmente progettare un "porting" al nuovo formato senza un impatto eccessivo sull'applicazione.


Originariamente inviato da zephyr
se creo l'indice unique mi dà "Key violation" che non mi dà se lo creo case insensitive.
come posso procedere?

Il problema è dato dal fatto che se crei un indice univoco per quel campo, esso non può contenere valori duplicati; ciò che puoi fare è rimuovere i valori duplicati, oppure evitare di renderlo univoco. Per questioni ovvie di integrità, non è possibile adottare una soluzione intermedia in quanto non può esistere un indice univoco per un campo che non lo è.

Ciao! :ciauz:

Loading