Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Alternative to packing a table
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Divers
Thread ID:
00247762
Message ID:
00247797
Vues:
33
>I have heard that it is not wise to pack a table on a production system, especially when you're dealing with a fairly large table. ( 100,000+ ). Instead you do something like:
>
>PARAMETERS tcDbc, tcTableName
>USE (tcTableName)
>COPY TO TEMP DATABASE (tcDbc) FOR NOT DELETED()
>RENAME TEMP.DBF TO &tcTableName..DBF
>REINDEX
>* Or recreate the indexes one by one from a data dictionary
>
>1. Is the correct syntax.
>
>2. If its correct, is there a problem in VFP 5, where the copy to only copies the first 10 characters of field names.

No problem I've ever had. I see a couple things, though:

1) Add WITH CDX to the COPY or you'll lose the indexes
2) You'll lose some other DB table properties using your technique, if you have them.
3) You can use SET DELE ON instead of the FOR filter.
4) the RENAME may be confusing the DBC by putting the new table in a different path, perhaps that's why the 10-char names. Is that possible?
5) If something goes wrong with this method at runtime , you can be in hot water :) You might want to COPY TO a backup name also, in case...
The Anonymous Bureaucrat,
and frankly, quite content not to be
a member of either major US political party.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform