Las tablas temporales

SQL Server propone hacer el seguimiento automático de las diferentes versiones de la información almacenada en una tabla. Es decir que SQL Server guardará una versión de cada fila antes y después de su modificación.

El nombre exacto de este mecanismo propuesto por SQL Server es el de "Tablas de sistema temporales por versión" ya que SQL Server gestiona el periodo de validez de cada fila.

Para gestionar esta noción de temporalidad, SQL Server se apoya en:

  • Dos columnas de tipo datetime2. Estas dos columnas corresponden a las fechas y horas de inicio y final de validez de los datos.

  • Una tabla espejo (en términos de estructura) a la tabla que contiene los datos activos para conservar el histórico. A esta tabla se la conoce a menudo con el nombre de "tabla de histórico". Puede ser creada automáticamente por SQL Server o por el administrador.

Estas tablas, aunque sean singulares en su sistema de gestión de la información, se pueden administrar como cualquier otra tabla de la base de datos.

Sintaxis

CREATE TABLE nombreTabla(  
nombreColumnatipo, ...  
inicioValidez datetime2 GENERATED ALWAYS AS ROW START NOT NULL,  
finValidez datetime2 GENERATED ALWAYS AS ROW END NOT NULL,  
PERIOD FOR SYSTEM_TIME (inicioValidez, finValidez)  
) WITH (SYSTEM_VERSIONING=ON (HISTORY_TABLE= nombreTablaHistorico)) ; PERIOD 

Esta tabla necesita una clave primaria.

Ejemplo

En el siguiente ejemplo, se genera...

Si desea saber más, le proponemos el siguiente libro:
couv_RIT19SQLA.png
60-signet.svg
Versión impresa
20-ecran_lettre.svg
Versión online
41-logo_abonnement.svg
En ilimitado con la suscripción ENI
130-boutique.svg
En la tienda oficial de ENI
Anterior
Cifrado de datos
Siguiente
Planificación