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