Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Unique primary key value
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Titre:
Unique primary key value
Divers
Thread ID:
00263974
Message ID:
00263974
Vues:
64
I am creating a stored procedure to automatically update the primary key value whenever a record is created in the table named XEPCBOAT. I set the default vaue of xepcboat.boatid to UpdateKey('xepcboat').

This worked great until I put the record locking in. When I try to append a record now I get the error message "Cannot write to the record because it is in use.". If I take out the RLOCK it works great but I need to lock the record until the update to sysvars is complete to keep from creating duplicate primary key values.

The function code is below. Anybody have any ideas or a better way to accomplish what I'm trying to do?

FUNCTION Updatekey
PARAMETERS lcTable
LOCAL liKeyValue
USE SYSVARS IN 0
DO CASE
CASE UPPER(lcTable) = 'XEPCBOAT'
RLOCK('sysvars',1)
REPLACE sysvars.boatid WITH sysvars.boatid + 1 in sysvars
liKeyValue = sysvars.boarit
UNLOCK('sysvars')
ENDCASE
USE IN SYSVARS
RETURN liKeyValue
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform