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.

Themenlink (Symbol)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
    Eine Konstante, eine Spalte oder eine Funktion und eine beliebige Kombination aus arithmetischen Operatoren, bitweisen Operatoren und Zeichenfolgenoperatoren. expression ist ein Ausdruck vom Datentyp int. Aggregatfunktionen und Unterabfragen sind nicht zulässig.

    Weitere Informationen finden Sie unter Ausdrücke (Transact-SQL).

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

Siehe auch

Verweis

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

Hilfe und Informationen

Informationsquellen für SQL Server 2005