CHECKSUM_AGG (Transact-SQL)
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance SQL analytics endpoint in Microsoft Fabric Warehouse in Microsoft Fabric
Cette fonction retourne la somme de contrôle des valeurs dans un groupe. CHECKSUM_AGG
ignore les valeurs NULL. La clause OVER peut suivre CHECKSUM_AGG
.
Conventions de la syntaxe Transact-SQL
Syntaxe
CHECKSUM_AGG ( [ ALL | DISTINCT ] expression )
Arguments
ALL
Applique la fonction d'agrégation à toutes les valeurs. ALL est l’argument par défaut.
DISTINCT
Spécifie que CHECKSUM_AGG
retourne la somme de contrôle de valeurs uniques.
expression
Expression d’entier. CHECKSUM_AGG
n’autorise pas l’utilisation de fonctions d’agrégation ni de sous-requêtes.
Types de retour
Renvoie la somme de contrôle de toutes les valeurs d’expression en tant que int.
Remarques
CHECKSUM_AGG
peut détecter les modifications effectuées dans une table.
L’ordre des lignes dans la table n’influe pas sur le résultat de CHECKSUM_AGG
. En outre, les fonctions CHECKSUM_AGG
permettent d’utiliser le mot clé DISTINCT
et la clause GROUP BY
.
Si une valeur de la liste d’expressions change, la liste de valeurs de la somme de contrôle de liste est susceptible de changer aussi. Il existe toutefois une faible probabilité pour que la somme de contrôle calculée ne change pas.
CHECKSUM_AGG
a des fonctionnalités similaires à celles des autres fonctions d’agrégation. Pour plus d’informations, consultez les fonctions d’agrégation (Transact-SQL).
Exemples
Ces exemples utilisent CHECKSUM_AGG
pour détecter des modifications dans la colonne Quantity
de la table ProductInventory
de la base de données AdventureWorks2022.
--Get the checksum value before the column value is changed.
SELECT CHECKSUM_AGG(CAST(Quantity AS INT))
FROM Production.ProductInventory;
GO
Voici le jeu de résultats.
------------------------
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;
Voici le jeu de résultats.
------------------------
287