SQL Server Insert na tabela de temperatura

SQL Server Insert na tabela de temperatura

Tabelas temporárias, ou tabelas temporárias, consulte as tabelas criadas por um usuário do SQL Server com o único objetivo de armazenar dados temporariamente. As tabelas temporárias são úteis para trabalhar com subconjuntos de dados que exigiriam montes de consultas especificadas para filtrar.

Este guia discutirá como trabalhar com tabelas temporárias no SQL Server. Começaremos no básico e aprenderemos a criar tabelas temporárias, usar tabelas temporárias globais, inserir dados em tabelas temporárias e soltar tabelas temporárias.

SQL Server Crie tabelas temp

No SQL Server, existem dois métodos principais para criar tabelas temporárias:

  1. Usando a instrução SQL Select.
  2. Usando a instrução CREATE TABLE.

Vamos olhar para cada um dos métodos acima.

Usando a instrução SQL Select

Você pode usar o Selecione em Declaração para criar uma tabela temporária e inserir dados de uma consulta definida.

A sintaxe para criar uma tabela de temperatura com a instrução SELECT é como mostrado:

Selecione Column_List em #Temporary_Table_Name da tabela_name onde condicional_expression;

Usamos a instrução SELECT seguida pelo nome da tabela temporária. O nome de uma tabela temporária no SQL Server começa com um sinal #.

Considere o exemplo abaixo que cria uma tabela de temperatura usando várias colunas de uma tabela existente:

Use salesdb;
Selecione * em #sales_temp a partir de vendas onde quantidade> 5;

A consulta acima deve selecionar os registros correspondentes e inseri -los na tabela temporária especificada.

O SQL Server armazena tabelas temp no banco de dados do TempDB. Este é um banco de dados de sistema criado automaticamente pelo SQL Server.

No SQL Server Management Studio, você pode visualizar a tabela temporária criada acima navegando: Bancos de dados -> Bancos de dados do sistema -> Tempdb -> Tabelas temporárias:

Cada tabela temporária contém um identificador exclusivo do Postfix, incluindo uma sequência de valores numéricos. Isso ocorre porque várias conexões podem criar tabelas temporárias com nomes semelhantes. O SQL Server anexa um valor numérico exclusivo no final do nome para evitar conflitos.

Usando a consulta de tabela Create

O segundo método que podemos usar para criar uma tabela temporária é o SQL CREATE TABLE declaração. Este método não é muito diferente do de uma tabela normal. No entanto, o nome da tabela começa com um sinal de libra #.

Por exemplo:

Crie a tabela #MY_TEMP_TABLE (
Id int não identidade nula (1,1) Chave primária,
Nome Varchar (50)
);

A consulta acima criará uma tabela temporária com o nome especificado.

Depois de criar a tabela temporária, podemos inserir dados como uma tabela normal, como mostrado na consulta abaixo:

Use tempdb;
Inserir em #MY_TEMP_TABLE (nome)
Valores ('mysql'),
('PostGresql'),
('MongoDB'),
('Sqlite');

Se você precisar obter os registros armazenados no banco de dados TEMP, poderá usar a instrução SELECT como mostrado:

Selecione * de #MY_TEMP_TABLE;

Exemplo de saída é como mostrado:

SQL Server Drop Temp Tables

Depois de criar uma tabela temporária, você provavelmente desejará excluí -la após o uso. No SQL Server, existem dois métodos para soltar uma tabela temporária:

Encerrar a conexão

O SQL Server fará automaticamente todas as tabelas temporárias quando a conexão que as criou é encerrada.

Como mencionado, uma tabela temporária só está disponível na conexão que a cria. Portanto, uma vez que a conexão é fechada, o servidor SQL exclui as tabelas e libera os recursos para outras conexões.

Declaração de soltar

O segundo método que você pode usar para excluir uma tabela de temperatura é a consulta SQL Drop. Por exemplo, para excluir o my_temp_table criado nas consultas anteriores:

Tabela de soltar #MY_TEMP_TABLE;

Tabelas de temperatura global

Uma tabela temporária está disponível apenas para a conexão criada por padrão. No entanto, você pode criar uma tabela disponível em todas as conexões no servidor. Estes são conhecidos como tabelas temporárias globais.

Para criar uma temperatura global no SQL Server, use sinais de libra dupla (##).

Por exemplo:

Crie a tabela ## my_temp_table (
Id int não identidade nula (1,1) Chave primária,
Nome Varchar (50)
);
Use tempdb;
Inserir em ## my_temp_table (nome)
Valores ('mysql'),
('PostGresql'),
('MongoDB'),
('Sqlite');

Ao contrário de uma única tabela de sessão, o servidor SQL solta as tabelas de temperatura global após a conexão criada e todas as outras conexões são fechadas.

Para encerrar

Neste artigo, você entendeu como trabalhar com as tabelas temporárias no SQL Server. As tabelas temporárias podem ser benéficas quando usadas com eficiência.

Obrigado pela leitura!