Compartilhar via


CHECKSUM_AGG (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzurePonto de extremidade de análise de SQL no Microsoft FabricWarehouse no Microsoft FabricBanco de dados SQL 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 )  

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

Esses exemplos são usados CHECKSUM_AGG para detectar mudanças na Quantity coluna da ProductInventory tabela no banco de dados AdventureWorks2025.

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

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

Veja a seguir 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;  

Veja a seguir o conjunto de resultados.

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

Confira também

CHECKSUM (Transact-SQL)

HASHBYTES (Transact-SQL)

BINARY_CHECKSUM (Transact-SQL)

Cláusula OVER (Transact-SQL)