home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.databases.ms-sqlserver      Notorious Rube Goldberg contraption      19,505 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 18,519 of 19,505   
   Tony to All   
   about timestamp   
   23 Nov 11 18:51:44   
   
   From: johansson.andersson@telia.com   
      
   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   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca