Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Unique primary key value
Message
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Title:
Unique primary key value
Miscellaneous
Thread ID:
00263974
Message ID:
00263974
Views:
65
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
Next
Reply
Map
View

Click here to load this message in the networking platform