SQLUSA

SQL Server 2008
Database Design Best Practices

How to use the timestamp datatype for version-stamping?

Execute the following script in Query Editor to demonstrate the usage of timestamp column for version-stamping. If any column in a table row is updated the timestamp (rowversion) will change for that row.

Use tempdb;

-- drop table NameAddress

Create table NameAddress

(

NameAddressID int identity  primary key,

FirstName varchar(25),

LastName varchar(30),

timestamp

)

go

 

Insert NameAddress (FirstName, LastName)

values

('Tom', 'Jones'),

('Elizabeth', 'Taylor')

go

 

Select * from NameAddress

go

/* Results

NameAddressID     FirstName   LastName    timestamp

1                 Tom         Jones       0x000000000001155D

2                 Elizabeth   Taylor      0x000000000001155E

*/

 

 

Insert NameAddress (FirstName, LastName)

values

('Frank', 'Sinatra'),

('Tania', 'Zaetta')

go

 

Select * from NameAddress

go

/* Result

NameAddressID     FirstName   LastName    timestamp

1                 Tom         Jones       0x000000000001155D

2                 Elizabeth   Taylor      0x000000000001155E

3                 Frank       Sinatra     0x000000000001155F

4                 Tania       Zaetta      0x0000000000011560

*/

 

 

 

Update  NameAddress Set FirstName='Elvis', LastName='Presley'

where NameAddressID=1

go

 

Select * from NameAddress

go

/* Results

NOTE: timestamp changed on record 1

 

NameAddressID     FirstName   LastName    timestamp

1                 Elvis       Presley     0x0000000000011561

2                 Elizabeth   Taylor      0x000000000001155E

3                 Frank       Sinatra     0x000000000001155F

4                 Tania       Zaetta      0x0000000000011560

*/

 

The Best SQL Server 2008 Training in the World
 
 
SQLUSA.com Home Page