Free cookie consent management tool by TermsFeed Policy Generator
  • SQL Server Video
  •    26 page views
  •   2741 video views
  • 2024, April 15, Monday

How to: Create History Table in SQL Server

Como criar uma tabela de histórico no SQL Server para controlar automaticamente as alterações executadas nos registros dessa tabela

Iremos conhece as técnicas:

1. Criar chave primária clusterizada (PRIMARY KEY CLUSTERED):

  • A criação de uma chave primária clusterizada em uma tabela do SQL Server envolve a definição de uma coluna ou conjunto de colunas únicas que servem como chave primária e, ao mesmo tempo, determinam a ordem física dos dados na tabela, otimizando a performance de consultas.

2. Adicionar coluna de data (ALTER TABLE, ADD, DATETIME2):

  • Para adicionar uma coluna de data a uma tabela existente, utiliza-se o comando ALTER TABLE. O tipo de dado DATETIME2 é frequentemente usado para armazenar valores de data e hora com maior precisão.

3. Definir restrição da coluna (CONSTRAINT):

  • Restrições são condições aplicadas a uma ou mais colunas de uma tabela. Ao usar a palavra-chave CONSTRAINT, pode-se definir restrições, como chaves estrangeiras, únicas, de verificação, entre outras.

4. Definir valor padrão da coluna (DEFAULT):

  • Ao criar ou modificar uma tabela, é possível definir um valor padrão para uma coluna. Esse valor será usado se nenhum valor for explicitamente fornecido durante a inserção de dados.

5. Ocultar coluna (HIDDEN):

  • A opção HIDDEN é utilizada para ocultar uma coluna em consultas padrão. Ela é útil quando a coluna não precisa ser exibida frequentemente, mas ainda é necessária para operações internas.

6. Informar ao sistema de versionamento as colunas de vigência do dado (PERIOD):

  • O SQL Server permite a implementação de sistema de versionamento usando a cláusula PERIOD, que informa quais colunas representam o período de validade dos dados. Essa funcionalidade é útil para rastrear alterações ao longo do tempo.

7. Gerar script de criação de tabela (CREATE TABLE):

  • O comando CREATE TABLE é usado para criar uma nova tabela no SQL Server. Pode-se especificar as colunas, tipos de dados, restrições e outros detalhes durante a criação da tabela.

8. Habilitar sistema de versionamento (SYSTEM_VERSIONING, HISTORY_TABLE):

  • A habilitação do sistema de versionamento no SQL Server envolve a utilização da cláusula SYSTEM_VERSIONING ao criar uma tabela. Também é necessário especificar uma tabela de histórico (HISTORY_TABLE) para armazenar as versões anteriores dos dados.

9. Alterar os registros por intervalo de códigos (UPDATE, BETWEEN):

  • O comando UPDATE com a cláusula BETWEEN permite alterar registros dentro de um intervalo específico de códigos.

10. Pesquisar registros por data específica (FOR SYSTEM_TIME, AS OF):

  • A pesquisa de registros por data específica é realizada utilizando `FOR SYSTEM_TIME AS OF`, que permite consultar dados em um ponto específico no tempo.

11. Pesquisar registros por intervalo de datas (FOR SYSTEM_TIME, FROM/TO, BETWEEN):

  • A consulta de registros em um intervalo de datas específico é feita usando `FOR SYSTEM_TIME FROM/TO` ou `BETWEEN` para especificar o período desejado.

12. Pesquisar por todos os registros (FOR SYSTEM_TIME, ALL):

  • Utilizando `FOR SYSTEM_TIME ALL`, é possível pesquisar todos os registros, incluindo versões anteriores, em um sistema de versionamento temporal.

13. Excluir todos os registros sem WHERE (DELETE):

  • O comando `DELETE` sem uma cláusula `WHERE` apaga todos os registros de uma tabela, o que deve ser usado com extrema precaução, pois resultará na perda total dos dados.

This content contains
  • Content Video
  • Language Portuguese
  • Duration 11m 25s
  • Subtitles Não

  • Reading time 2 min 40 seg

avatar
Fabio Santos

Data Scientist and Consultant for Digital and Analytics Solutions


  • Share

Youtube Channel

@fabioms

Subscribe now