CHECKSUM_AGG (Transact-SQL)

Gilt für:yesSQL Server (alle unterstützten Versionen) YesAzure SQL-DatenbankYesAzure SQL Managed Instance

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.

Topic link iconTransact-SQL-Syntaxkonventionen

Syntax

CHECKSUM_AGG ( [ ALL | DISTINCT ] expression )  

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 oder früher finden Sie unter Dokumentation zu früheren Versionen.

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 AdventureWorks2012-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 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;  

Hier ist das Resultset.

------------------------  
287  

Siehe auch

CHECKSUM (Transact-SQL)
HASHBYTES (Transact-SQL)
BINARY_CHECKSUM (Transact-SQL)OVER-Klausel (Transact-SQL)