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