CHECKSUM_AGG (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance SQL Analysen-Endpunkt in Microsoft Fabric Warehouse in Microsoft Fabric
Diese Funktion gibt die Prüfsumme der Werte in einer Gruppe zurück. CHECKSUM_AGG
ignoriert NULL-Werte. Die OVER-Klausel kann CHECKSUM_AGG
folgen.
Transact-SQL-Syntaxkonventionen
Syntax
CHECKSUM_AGG ( [ ALL | DISTINCT ] expression )
Argumente
ALL
Wendet die Aggregatfunktion auf alle Werte an. ALL ist das Standardargument.
DISTINCT
Gibt an, dass CHECKSUM_AGG
die Prüfsumme von eindeutigen Werten zurückgeben soll.
expression
Ein Integerausdruck. CHECKSUM_AGG
lässt das Verwenden von Aggregatfunktionen und Unterabfragen nicht zu.
Rückgabetypen
Gibt die Prüfsumme aller Ausdruckswerte als int zurück.
Hinweise
CHECKSUM_AGG
kann Änderungen in einer Tabelle erkennen.
Das CHECKSUM_AGG
-Ergebnis hängt nicht von der Reihenfolge der Zeilen in der Tabelle ab. Zudem lassen CHECKSUM_AGG
-Funktionen das Verwenden des Schlüsselworts DISTINCT
und der Klausel GROUP BY
zu.
Wenn der Listenwert eines Ausdrucks geändert wird, ist es wahrscheinlich, dass sich auch die Werteliste der Listenprüfsumme verändert. Es besteht jedoch auch die Möglichkeit, dass sich die berechnete Prüfsumme nicht ändert.
CHECKSUM_AGG
verfügt über Funktionen, die denen von Aggregatfunktionen ähneln. Weitere Informationen finden Sie unter Aggregatfunktionen (Transact-SQL).
Beispiele
In den folgenden Beispielen wird CHECKSUM_AGG
verwendet, um Änderungen in der Quantity
-Spalte der ProductInventory
-Tabelle in der AdventureWorks2022-Datenbank zu erkennen.
--Get the checksum value before the column value is changed.
SELECT CHECKSUM_AGG(CAST(Quantity AS INT))
FROM Production.ProductInventory;
GO
Hier sehen Sie das Ergebnis.
------------------------
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;
Hier sehen Sie das Ergebnis.
------------------------
287