Be cautious about the whole "Timestamp" thing. To begin with, the "TIMESTAMP" datatype has nothing to do with date or time. It is simply a binary stamp that has NO ACTUAL DATA SIGNIFICANCE other than uniqueness in THAT DATABASE.
Here's a little science experiment you can do to demonstrate how TIMESTAMP datatypes behave. First create a couple of tables that contain an identity column, a varchar column, and a timestamp column. Here's the "create" statement:
CREATE TABLE dbo.myTableWithIdentityAndTimestamp
(
myId int IDENTITY(1,1) NOT NULL,
myVarchar varchar(50) NULL,
myTimestamp timestamp NULL
)
CREATE TABLE dbo.myTableWithIdentityAndTimestamp2
(
myId int IDENTITY(1,1) NOT NULL,
myVarchar varchar(50) NULL,
myTimestamp timestamp NULL
)
Then, create a couple of insert statements to insert 3 rows into each. Run the insert statements together, then run them again. You should wind up with 6 rows in each table. Here are some samples:
insert into myTableWithIdentityAndTimestamp (myVarchar) values ('ABCDE'), ('FGHIJ'), ('KLMNO')
insert into myTableWithIdentityAndTimestamp2 (myVarchar) values ('ABCDE'), ('FGHIJ'), ('KLMNO')
Now, do a select from each table and compare.
select * from myTableWithIdentityAndTimestamp
select * from myTableWithIdentityAndTimestamp2
You will notice that the identity columns have been automatically populated in ascending sequence in each table, as you would expect. You will also notice that the TIMESTAMP column was automatically populated, in ascending sequence, in the order in which the rows were inserted, REGARDLESS of which table received the inserted rows.
Now, update one row of each table. Here's some code:
update a set myVarchar = '123' from myTableWithIdentityAndTimestamp a where myId = 1
update a set myVarchar = '123' from myTableWithIdentityAndTimestamp2 a where myId = 2
Now, run the select statements again. Note that in the updated rows, TIMESTAMP has been updated. As long as you don't care WHEN the data has been updated, the timestamp could be used to see what was the last time anything in the entire row has been updated.
In conclusion, the TIMESTAMP column should not be used for date/time comparisons, and probably can't be relied upon for sequencing at all. It only guarantees a unique value within a database. Not only that, but it is a deprecated datatype that should be avoided. Look in MSSQL Books-Online at "rowversion" (the datatype that is replacing timestamp).
Hope this (long-winded) explanation is of some use. Good luck!