Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.databases.ms-sqlserver > #828
| From | "Tony" <johansson.andersson@telia.com> |
|---|---|
| Newsgroups | comp.databases.ms-sqlserver |
| Subject | about timestamp |
| Date | 2011-11-23 18:51 +0100 |
| Message-ID | <4ecd32ca$0$282$14726298@news.sunsite.dk> (permalink) |
| Organization | SunSITE.dk - Supporting Open source |
I read a book called "Beginning ASP.NET 3.5 in C# from Novice to
Professional"
Here is the text and according to this it seems to be easy to create and use
a timestamp but when I create one for a new table and add some record to
this new table the timestamp is always empty.
So can ayone give a comment about how to use this timestamp for concurrency.
"This is about concurrency. Matching every field is an acceptable approach
for small record, but it isn't the most efficient startegy if you have
tables with huge amounts of data. In this situations, you have two possible
solutions: you can match some of the fields (leaving out the ones with
really big values) or you can add a timestamp field to your database table,
and use that for concurrency checking.
Timestamp are special fields that the database uses to keep track of the
state of a record.
Whenever any change is made to a record, the database engine updates the
timestamp field,
giving it a new, automatically generated value. the purpose of a timestamp
field is to make strict concurrency checking easier.
When you attempt to perform an update to a table that includes a timestamp
field you use a Where clause
that matches the appropriate unique ID value(like ProductID) and the
timestamp field.
UpdateCommand= "Update Products set ProductName=@ProductName,
UnitPrice=@UnitPrice,
UnitsInStock=@UnitsInStock,
UnitsOnOrder=@UnitsOnOrder,
ReorderLevel=@ReorderLevel,
Discontinued=@Discontinued
where ProductID=@ProductID and
RowTimestamp=@RowTimestamp"
The database engine uses the ProductID to look up the matching record.
Then, it attempts to match the timestamp in order to update the record. If
the timestamp matches you
know the record hasn't been changed. The actual value of the timestamp isn't
important, because that's controlled by the database.
You just need to know whether it's changed. Creating a timestamp is easy. In
SQL Server you create a timestamp field using the timestamp data type."
//Tony
Back to comp.databases.ms-sqlserver | Previous | Next — Next in thread | Find similar
about timestamp "Tony" <johansson.andersson@telia.com> - 2011-11-23 18:51 +0100 Re: about timestamp Erland Sommarskog <esquel@sommarskog.se> - 2011-11-23 23:53 +0100
csiph-web