Tabelas e exibições temporárias do SQL para usuários do LuckyTemplates

Neste tutorial, discutiremos tabelas e exibições temporárias do SQL . Esses dois podem ser úteis se você quiser extrair um conjunto específico de dados de uma tabela física para teste e depuração. Também falaremos sobre os 2 tipos de tabelas temporárias e suas diferenças.

Com tabelas e exibições temporárias SQL, você pode manipular livremente o conjunto de dados usando vários comandos sem consultá-lo repetidamente, pois já está armazenado em uma tabela separada.

Embora esses dois funcionem de maneira semelhante, você deve observar suas diferenças. Isso o ajudará a decidir o melhor método a ser usado em uma situação específica.

Com base no próprio nome, as tabelas temporárias são usadas para armazenar dados temporariamente em uma sessão.

Também podemos fazer várias operações neles, como em uma mesa física . Imagine que você tenha um comando SQL muito longo. Você pode simplesmente colocar isso em uma tabela temporária e começar a depurar ou solucionar os erros sem afetar a consulta original. Além disso, tabelas temporárias são poderosas e frequentemente usadas em SQL.

Índice

Dois tipos de tabelas temporárias em SQL

Existem 2 tipos de tabelas temporárias no SQL. Estas são as tabelas temporárias locais e globais.

As tabelas temporárias locais existem apenas na sessão em que foram criadas. Não poderemos acessar esta tabela em outras sessões. Por causa disso, as tabelas temporárias locais não existirão mais assim que a sessão em que foram criadas for encerrada.

Por outro lado, as tabelas temporárias globais são acessíveis em todas as sessões quando criadas. Mas assim que todas as sessões forem fechadas, ela não existirá mais e não estará mais acessível.

Observe que você pode simplesmente identificar que tipo de tabela temporária está sendo usada em uma consulta verificando o símbolo “ # ” para local e “ ## ” para a tabela temporária global.

Tabelas e exibições temporárias do SQL para usuários do LuckyTemplates

As tabelas temporárias locais geralmente começam com “ # ” no nome da tabela.

Tabelas e exibições temporárias do SQL para usuários do LuckyTemplates

Por outro lado, as tabelas temporárias globais começam com “ ## ” antes do nome da tabela.

Tabelas e exibições temporárias do SQL para usuários do LuckyTemplates

Além disso, se você deseja criar rapidamente qualquer tabela, pode seguir o comando: SELECT * INTO #customers FROM dbo.courses como exemplo.

Tabelas e exibições temporárias do SQL para usuários do LuckyTemplates

Este comando criará uma nova tabela temporária chamada #customers com todos os dados da tabela dbo.courses .

Exibições no Microsoft SQL Server Management Studio

Vamos agora discutir exibições SQL com este comando de exemplo.

Tabelas e exibições temporárias do SQL para usuários do LuckyTemplates

Digamos, por exemplo, que não queremos executar repetidamente um comando como este. Você pode simplesmente colocá-lo em uma exibição seguindo o comando abaixo.

Tabelas e exibições temporárias do SQL para usuários do LuckyTemplates

A criação de uma exibição é semelhante à criação de tabelas. Usar isso nos permitirá executar a consulta que inserimos selecionando o nome da exibição que criamos. Nesse caso, é CustomersbyYear_v .

Tabelas e exibições temporárias do SQL para usuários do LuckyTemplates

É importante observar que as visualizações são diferentes das tabelas temporárias. Isso ocorre porque as exibições são visíveis em seu banco de dados como uma tabela física, a menos que você a exclua. Além disso, as exibições não armazenam nenhum dado ou valor.

Em vez disso, ele apenas renderizará o comando que você inseriu logo após o comando CREATE VIEW . Você também pode executar qualquer operação de tabela em visualizações.

Mais importante ainda, podemos identificar facilmente as visualizações, pois elas geralmente são representadas colocando “v” no início ou no final do nome da visualização.

Criando tabelas e exibições temporárias em SQL

Para este exemplo, tenho esta consulta que irá combinar e mostrar os registros de Sales.SalesOrderHeader e Sales.Customer C após executá-la.

Tabelas e exibições temporárias do SQL para usuários do LuckyTemplates

Tabelas e exibições temporárias do SQL para usuários do LuckyTemplates

Criando tabelas temporárias locais em SQL

Imagine que você escreveu uma consulta com 200 linhas e precisa depurar e executar determinadas operações nela. Você não pode editar diretamente a consulta , pois isso pode causar mais erros durante o processo.

Nesse caso, usando o exemplo anterior, vamos criar uma tabela temporária local adicionando o comando “ INTO #test_local ” antes do comando FROM.

Tabelas e exibições temporárias do SQL para usuários do LuckyTemplates

Assim que executarmos esse comando, #test_local agora conterá os registros combinados de Sales.SalesOrderHeader e Sales.Customer C . Como resultado, isso é o que você verá ao selecionar a tabela #test_local .

Tabelas e exibições temporárias do SQL para usuários do LuckyTemplates

Depois disso, podemos realizar qualquer operação na tabela #test_local . Selecionaremos todos os registros de #test_local e, em seguida, alteraremos a ordem dos registros por CustomerID usando o seguinte comando. 

Tabelas e exibições temporárias do SQL para usuários do LuckyTemplates

Como resultado, os registros agora são classificados por seu CustomerID. Mas como usamos uma tabela temporária local, não podemos acessar ou usar a tabela #test_local em uma sessão diferente. O próximo exemplo mostra o que acontecerá se tentarmos acessar #test_local em SQLQuery2.sql .

Tabelas e exibições temporárias do SQL para usuários do LuckyTemplates

Com base no exemplo anterior, ao selecionar o #test_local , apenas exibia uma mensagem de erro. Isso ocorre porque a tabela #test_local só existe na sessão em que foi criada, que é SQLQuery1.sql .

Criando tabelas temporárias globais em SQL

Em seguida, usaremos a mesma consulta que usamos em #test_local . Mas desta vez, usaremos uma global .

Tabelas e exibições temporárias do SQL para usuários do LuckyTemplates

Agora, se selecionarmos ##test_global e ordenarmos os registros por CustomerID, ele mostrará a mesma saída que tivemos em #test_local , pois usamos a mesma consulta. 

Tabelas e exibições temporárias do SQL para usuários do LuckyTemplates

Depois disso, tentaremos acessar a tabela ##test_global em outra sessão selecionando-a. Isso funciona perfeitamente, pois estamos usando uma tabela temporária global.

Tabelas e exibições temporárias do SQL para usuários do LuckyTemplates

Neste ponto, estamos destacando a diferença entre tabelas temporárias locais e globais.

Lembre-se de que as tabelas temporárias locais só podem ser acessadas na sessão em que foram criadas . Depois de fechar essa sessão, ela não existirá mais.

Por outro lado, as tabelas temporárias globais são visíveis para todas as sessões , a menos que você feche todas as sessões ativas ou o próprio aplicativo.

Criando visualizações em SQL

Agora vamos criar uma view. Neste exemplo, temos uma consulta existente como esta.

Tabelas e exibições temporárias do SQL para usuários do LuckyTemplates

Podemos começar a criar uma visualização adicionando o comando CREATE VIEW a essa consulta.

Tabelas e exibições temporárias do SQL para usuários do LuckyTemplates

Ao executar o comando, será criada uma view no banco de dados que estamos trabalhando. Neste caso, é AdventureWorks2012 .

Também devemos ver o dbo.CustomerView_v na pasta Views depois de atualizá-lo. Para atualizar a pasta Visualizações, clique com o botão direito nela e selecione Atualizar .

Tabelas e exibições temporárias do SQL para usuários do LuckyTemplates

Clique no ícone + à direita da pasta Views e o dbo.CustomerView_v ficará visível.

Tabelas e exibições temporárias do SQL para usuários do LuckyTemplates

Você pode abrir essa exibição clicando com o botão direito do mouse em dbo.CustomerView_v e, em seguida, escolha Selecionar as 1.000 principais linhas nas opções. Isso exibirá 1.000 registros nessa exibição .

Tabelas e exibições temporárias do SQL para usuários do LuckyTemplates

Depois disso, podemos usar dbo.CustomerView_v e executar qualquer operação nele como uma tabela. Por exemplo, queremos selecionar os registros com SalesOrderID maior que 50000 em dbo.CustomerView_v . Neste caso, usaremos o seguinte comando.

Tabelas e exibições temporárias do SQL para usuários do LuckyTemplates

Agora podemos executar uma operação na exibição que criamos.

Conclusão

Resumindo, aprendemos os 2 tipos de tabelas temporárias junto com suas diferenças e porque precisamos usá-las. Além disso, discutimos que as tabelas temporárias servem como uma forma de corrigir erros em suas consultas sem danificar a consulta real.

Lembre-se de que as tabelas temporárias são visíveis apenas para as sessões em que foram criadas. Assim, ele não existirá mais quando fecharmos as sessões ativas ou o próprio aplicativo.

Também aprendemos que as exibições não armazenam dados ou registros. Ele mostra apenas os resultados com base na consulta que você deseja renderizar. Essas visualizações são armazenadas em nosso banco de dados assim que as criamos. 

Ao aprender esses dois, você agora tem a capacidade de executar rapidamente comandos longos e modificar grandes blocos de conjuntos de dados com facilidade.

Tudo de bom,

Hafiz

Leave a Comment

Colunas calculadas no SharePoint | Uma visão geral

Colunas calculadas no SharePoint | Uma visão geral

Descubra a importância das colunas calculadas no SharePoint e como elas podem realizar cálculos automáticos e obtenção de dados em suas listas.

Atributos pré-atentivos: como isso pode afetar seu relatório

Atributos pré-atentivos: como isso pode afetar seu relatório

Descubra todos os atributos pré-atentivos e saiba como isso pode impactar significativamente seu relatório do LuckyTemplates

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

Aprenda a contar o número total de dias em que você não tinha estoque por meio dessa técnica eficaz de gerenciamento de inventário do LuckyTemplates.

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

Saiba mais sobre as exibições de gerenciamento dinâmico (DMV) no DAX Studio e como usá-las para carregar conjuntos de dados diretamente no LuckyTemplates.

Variáveis ​​e expressões dentro do editor do Power Query

Variáveis ​​e expressões dentro do editor do Power Query

Este tutorial irá discutir sobre Variáveis e Expressões dentro do Editor do Power Query, destacando a importância de variáveis M e sua sintaxe.

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Aprenda a calcular a diferença em dias entre compras usando DAX no LuckyTemplates com este guia completo.

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

Calcular uma média no LuckyTemplates envolve técnicas DAX para obter dados precisos em relatórios de negócios.

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

Como salvar e carregar um arquivo RDS em R

Como salvar e carregar um arquivo RDS em R

Você aprenderá como salvar e carregar objetos de um arquivo .rds no R. Este blog também abordará como importar objetos do R para o LuckyTemplates.

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Neste tutorial de linguagem de codificação DAX, aprenda como usar a função GENERATE e como alterar um título de medida dinamicamente.