Compartilhar via


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.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

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