Most database developers have been faced with the task to archive old data. It could look something like this:
CREATE TABLE dbo.Cars(
CarID int identity(1,1) PRIMARY KEY,
BrandName varchar(100),
ModelName varchar(100),
releaseYear smallint
);
CREATE TABLE dbo.Cars_Archive(
CarID int,
BrandName varchar(100),
ModelName varchar(100),
releaseYear smallint,
ArchivedDateTime datetime DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT PK_Cars_Archive PRIMARY KEY(CarID, ArchivedDateTime)
)
And updating a row would often require a stored procedure and some explicit transactions
Continue reading “Archiving with the OUTPUT clause”