CHECKSUM_AGG (Transact-SQL)
Retorna a soma de verificação dos valores em um grupo. Valores nulos são ignorados. Pode ser seguido pela cláusula OVER.
Sintaxe
CHECKSUM_AGG ( [ ALL | DISTINCT ] expression )
Argumentos
ALL
Aplica a função de agregação a todos os valores. ALL é o padrão.DISTINCT
Especifica que CHECKSUM_AGG retorna a soma de verificação de valores exclusivos.expression
É uma expressão de inteiro. Funções de agregação e subconsultas não são permitidas.
Tipos de retorno
Retorna a soma de verificação de todos os valores todos os valores expression como int.
Comentários
CHECKSUM_AGG pode ser usado para detectar alterações em uma tabela.
A ordem das linhas na tabela não afeta o resultado de CHECKSUM_AGG. Além disso, as funções de CHECKSUM_AGG podem ser usadas com a palavra-chave DISTINCT e a cláusula GROUP BY.
Se um dos valores na lista de expressão é alterado, em geral, a soma de verificação da lista também é alterada. Entretanto, há uma pequena chance de que a soma de verificação não seja alterada.
CHECKSUM_AGG tem uma funcionalidade semelhante a outras funções de agregação. Para obter mais informações, consulte Funções agregadas (Transact-SQL).
Exemplos
O exemplo a seguir usa a função CHECKSUM_AGG para detectar as alterações na coluna Quantity da tabela ProductInventory no banco de dados AdventureWorks2008R2.
--Get the checksum value before the column value is changed.
USE AdventureWorks2008R2;
GO
SELECT CHECKSUM_AGG(CAST(Quantity AS int))
FROM Production.ProductInventory;
GO
Aqui está 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;
Aqui está o conjunto de resultados.
------------------------
287