Partilhar via


CHECKSUM_AGG (Transact-SQL)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Ponto de extremidade de análise de SQL no Microsoft Fabric Warehouse no Microsoft Fabric

Essa função retorna a soma de verificação dos valores em um grupo. CHECKSUM_AGG ignora valores nulos. A cláusula OVER pode seguir CHECKSUM_AGG.

Convenções de sintaxe de Transact-SQL

Sintaxe

CHECKSUM_AGG ( [ ALL | DISTINCT ] expression )  

Observação

Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.

Argumentos

ALL
Aplica a função de agregação a todos os valores. ALL é o argumento padrão.

DISTINTO
Especifica que CHECKSUM_AGG retorna a soma de verificação de valores exclusivos.

expressão
Uma expression de inteiro. CHECKSUM_AGG não permite o uso de funções de agregação nem de subconsultas.

Tipos de retorno

Retorna a soma de verificação de todos os valores de expression como int.

Comentários

CHECKSUM_AGG pode detectar alterações em uma tabela.

O resultado de CHECKSUM_AGG não depende da ordem das linhas na tabela. Além disso, as funções de CHECKSUM_AGG permitem o uso da palavra-chave DISTINCT e da cláusula GROUP BY.

Se o valor de lista de uma expressão for alterado, a lista de valores da soma de verificação de lista provavelmente também será alterada. No entanto, há uma pequena possibilidade de que a soma de verificação calculada não seja alterada.

O CHECKSUM_AGG tem uma funcionalidade semelhante à de outras funções de agregação. Para obter mais informações, confira Funções de agregação (Transact-SQL).

Exemplos

Estes exemplos usam CHECKSUM_AGG para detectar as alterações na coluna Quantity da tabela ProductInventory do banco de dados AdventureWorks2022.

--Get the checksum value before the column value is changed.  

SELECT CHECKSUM_AGG(CAST(Quantity AS INT))  
FROM Production.ProductInventory;  
GO  

Este é o conjunto de resultados.

------------------------  
262  
UPDATE Production.ProductInventory   
SET Quantity=125  
WHERE Quantity=100;  
GO  

--Get the checksum of the modified column.  
SELECT CHECKSUM_AGG(CAST(Quantity AS INT))  
FROM Production.ProductInventory;  

Este é o conjunto de resultados.

------------------------  
287  

Confira também

CHECKSUM (Transact-SQL)

HASHBYTES (Transact-SQL)

BINARY_CHECKSUM (Transact-SQL)

Cláusula OVER (Transact-SQL)