Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
How to update table from a cursor (no view)
Message
 
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Versions des environnements
Visual FoxPro:
VFP 9 SP1
Divers
Thread ID:
01252051
Message ID:
01252149
Vues:
25
>>Dmitry,
>>There are usual ways and less usual ways. Usual ways 'do' it but not fast (well 'fast' is a relative thing). Fast ways are generally less used because it's harder to code for them.
>>For example you can make a cursor updatable by just setting a few properties, set the cursor to table buffered one and call a single tableupdate. It works but under the hood it sends the updates row by row, meaning you have many update/insert calls.
>>For an efficient and fast way:
>>-Add a column to cursor marking new and modified (GetNextModified)
>>-Bulk load to server temp table (or if you have option use openrowset())
>>-Create a single update and a single insert command and execute
>>Cetin
>
>Cetin,
>I like your suggestion of an "efficient and fast way". Thank you.
>
>But what I am not clear is, if we talk about updating VFP table at this time, how do you do a single update from a temp table (where this temp table has more than one row)? And how do you do single insert command whereas the temp table may have many rows that need to be inserted?

I think you may have some extra field(s) in your cursor indicating what action has been done with a record (say, cChanged UPDATE/INSERT/DELETE values), then do UPDATE/INSERT/DELETE according to that field.
If it's not broken, fix it until it is.


My Blog
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform