CHECKSUM_AGG (Transact-SQL)
Gibt die Prüfsumme der Werte in einer Gruppe zurück. NULL-Werte werden ignoriert. Darauf kann die OVER-Klausel folgen.
Transact-SQL-Syntaxkonventionen
Syntax
CHECKSUM_AGG ( [ ALL | DISTINCT ] expression )
Argumente
ALL
Wendet die Aggregatfunktion auf alle Werte an. ALL ist die Standardeinstellung.DISTINCT
Gibt an, dass CHECKSUM_AGG die Prüfsumme von eindeutigen Werten zurückgeben soll.expression
Ein ganzzahliger Ausdruck. Aggregatfunktionen und Unterabfragen sind nicht zulässig.
Rückgabetypen
Gibt die Prüfsumme aller expression-Werte als int zurück.
Hinweise
Mithilfe von CHECKSUM_AGG können Änderungen in einer Tabelle erkannt werden.
Die Reihenfolge der Zeilen in einer Tabelle hat keinen Einfluss auf das Ergebnis von CHECKSUM_AGG. CHECKSUM_AGG-Funktionen können auch mit dem DISTINCT-Schlüsselwort und der GROUP BY-Klausel verwendet werden.
Wenn sich einer der Werte in der Liste mit Ausdrücken ändert, ändert sich im Allgemeinen auch die Prüfsumme der Liste. Es besteht jedoch eine geringe Möglichkeit, dass sich die Prüfsumme nicht ändert.
CHECKSUM_AGG hat eine ähnliche Funktionalität mit anderen Aggregatfunktionen. Weitere Informationen finden Sie unter Aggregatfunktionen (Transact-SQL).
Beispiele
Im folgenden Beispiel wird CHECKSUM_AGG verwendet, um Änderungen in der Quantity-Spalte der ProductInventory-Tabelle in der AdventureWorks-Datenbank zu erkennen.
--Get the checksum value before the column value is changed.
USE AdventureWorks2012;
GO
SELECT CHECKSUM_AGG(CAST(Quantity AS int))
FROM Production.ProductInventory;
GO
Dies ist das Resultset.
------------------------
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;
Dies ist das Resultset.
------------------------
287