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 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 )  

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  

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)