Labels

Friday, December 30, 2011

timestamp datatype 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
*/

No comments:

Post a Comment