Por vezes nos encontramos em situações em que é necessário realizar testes no banco de dados, mas não podemos simplesmente apagar, inserir ou remover dados. Para estas situações, existem tabelas temporárias (para todas as outras, existe MasterCard! não, pera…)
Estas situações (provavelmente) poderiam ser evitadas com ações preventivas e uma boa estrutura no banco, mas este não é o tema deste post.
A grande vantagem da tabela temporária é que podemos criá-las sem maiores problemas (desde que você tenha permissões para isso), a desvantagem é que você tem que criar uma tabela nova ou recriar a estrutura de uma tabela existente, caso queira copiar dados de uma para a outra.
A forma tradicional de se criar uma tabela temporária é a seguinte:
DECLARE #clientes TABLE( id INT, nome varchar(25), sobrenome varchar(50) , email varchar(100) )
Criar uma tabela desta forma é bem simples, mas a tarefa fica inviável se estivermos tentando recriar uma tabela muito grande ou complexa.
A consulta abaixo resolve este problema. Com ela, podemos simplesmente ‘clonar’ a estrutura de colunas de uma tabela para uma temporária:
select top 0 * into #clientes from clientes
Com esta consulta, a estrutura da tabela clientes (original) será copiada para a tabela #clientes (temporária, criada no momento do select.
Após este comando, você ainda precisa copiar os dados da tabela original para a tabela temporária.
INSERT INTO #clientes (id, nome, sobrenome, email) SELECT id, nome, sobrenome, email FROM clientes
Pronto! Agora você copiou todos os registros da tabela física para a tabela temporária.
Latest posts by Breno RdV (see all)
- O que é Metaclass e como ela funciona. (#python #dev #metaclass) - janeiro 11, 2023
- Entenda a mágica dos Generators. (#python, #dev, #generator, #iterator) - dezembro 28, 2022
- Ordenando um DataFrame por múltiplas colunas. (#python #pandas #jupyter #dev #data) - agosto 3, 2022