hongdong uttered:
I just have a base question:
assume user A and user B now both connection to a same database and both of
them want to update a same record,but only one is allowed
in this condition:
A begin to browse the data in a client application,and load rowid into GUI
and keep it in memory.
B update the record which A want to update
A now used the id stored in memory to update the same record
now it's wrong.
anyone can give me advice how to avoid this and keep the operation is
effient
You can use the rowid to track the row version, and a unique constraint on
your key to track conflicts. When updating a record, read the row,
including the rowid. Update any columns.
When writing the row out, delete the existing rowid, then insert the new
updated row, all within a transaction.
If noone has updated the row since you read it, the delete should delete
one row and the insert should succeed. If someone else has updated the row
using this protocol, the delete should delete no rows, and the insert
should fail with a unique constraint violation on your key.
thanks!
Christian
--
/"\
\ / ASCII RIBBON CAMPAIGN - AGAINST HTML MAIL
X - AGAINST MS ATTACHMENTS
/ \
-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------