Como usar a coluna computada do SQL Server

Como usar a coluna computada do SQL Server
Uma coluna calculada é uma coluna virtual cujo valor é resultado de uma expressão principalmente usando outros dados armazenados em outras colunas. Uma coluna computada é uma coluna virtual que significa que o servidor SQL não o armazena fisicamente em uma tabela. Em vez disso, o valor de uma coluna calculado é calculado quando os dados são consultados. Você pode, no entanto, armazená -lo fisicamente especificando o parâmetro persistido.

Este guia fornecerá o essencial de criar e usar colunas computadas no SQL Server.

Antes de mergulharmos em um exemplo prático e usar colunas computadas, há alguns pontos -chave para observar.

  1. Uma coluna calculada não pode conter como padrão, não nula ou restrições de chave estrangeira, a menos que a coluna seja definida para persistir.
  2. Você não pode usar uma coluna calculada em uma declaração de inserção ou atualização.

Uso da coluna computada do SQL Server

Para entender melhor como usar as colunas computadas do SQL Server, usaremos um exemplo prático.

Comece criando um exemplo de dados, como mostrado nas consultas abaixo:

Criar banco de dados sales_database;
Use sales_database;
Crie vendas de tabela (
Id Int Identity (1,1) não é a chave primária nula,
Product_name Varchar (50),
dinheiro de preço,
Quantidade int
);
Insira nas vendas (Product_name, Preço, Quantidade)
Valores ('carregador de iPhone', US $ 9.99, 10),
('Google Chromecast', US $ 59.25, 5),
('PlayStation DualSense Wireless Controller', US $ 69.00, 100),
('Xbox Series S', US $ 322.00, 3),
('Oculus Quest 2', US $ 299.50, 7),
('Netgear Nighthawk', US $ 236.30, 40),
('Redragon S101', US $ 35.98, 100),
('Figura de ação de Guerra nas Estrelas', US $ 17.50, 10),
('Mario Kart 8 Deluxe', US $ 57.00, 5);

Depois de termos os dados da amostra, podemos prosseguir.

Criar coluna computada: T-SQL

Criar uma coluna calculada no SQL Server é direta. Use o comando Create Tabela ou Alter Tabela para adicionar uma coluna computada.

Por exemplo, podemos criar uma coluna calculada que calcula o preço total dos itens com base no preço e na quantidade.

Considere o exemplo mostrado abaixo:

Alterar as vendas de tabela
Adicionar total_price como preço * quantidade;

A consulta acima cria uma nova coluna com base no valor das colunas de quantidade * Quantidade de preço *. Podemos consultar a nova tabela como:

Selecione * a partir de vendas;

A tabela resultante é como mostrado:

Observe que o valor da coluna Total_Price é baseado nos valores das colunas de preço e quantidade.

Depois de atualizar os valores em qualquer uma das colunas, o valor na coluna calculada reflete as alterações como mostrado:

Atualizar o conjunto de vendas Quantidade = 200
Onde id = 3;

A consulta acima atualiza a quantidade da linha número 3 a 200.

Se consultarmos os dados novamente, devemos ver o total_price atualizado para refletir as alterações como:

Selecione * a partir de vendas;

Para criar um calculado durante a criação da tabela, podemos especificar a coluna usando a palavra -chave AS seguida pela fórmula a ser usada para calcular o conjunto resultante.

Vendas de tabela de gota;
-- Recrie a tabela e reinsira os dados da amostra com uma nova coluna computada
Crie vendas de tabela (
Id Int Identity (1,1) não é a chave primária nula,
Product_name Varchar (50),
dinheiro de preço,
Quantidade int,
total_price como preço * quantidade
);

Isso recriará a tabela com a nova coluna computada.

Criar coluna computada: SSMS

Você também pode criar uma coluna computada usando o SQL Server Management Studio. No Object Explorer, Expanda à direita seu banco de dados de destino -> Tabelas -> Colunas -> Nova coluna.

Digite o nome da coluna e o tipo de dados aceito.

Expanda a guia Propriedades da coluna e selecione Especificações da coluna computada. Defina a fórmula para a coluna como mostrado:

Para aplicar as alterações, selecione a barra de ferramentas principal e clique no ícone Salvar:

Colunas computadas persistidas

Se você deseja armazenar fisicamente os valores de uma coluna calculada, você pode adicionar a propriedade persistida durante a criação da coluna.

Por exemplo, a consulta abaixo adiciona uma coluna calculada persistida para calcular o imposto dos produtos.

Alter as vendas de tabela Adicionar impostos como (1.6 * quantidade * preço) persistiu;

A tabela resultante é como mostrado:

Observe que você não pode usar o valor de outra coluna calculada em uma coluna computada. Por exemplo, se você tentar definir o valor da coluna fiscal como 1.6 * Total_price, o SQL Server retornará um erro.

Mostrar colunas computadas: T-SQL

Para mostrar colunas computadas em um banco de dados específico, use a consulta como mostrado abaixo:

Selecione * do SYS.computed_columns;

A consulta deve retornar os detalhes das colunas computadas no banco de dados selecionado.

Conclusão

Neste artigo, você entendeu como criar e usar colunas computadas no SQL Server. Verifique a documentação para saber mais.