Udostępnij przez


CHECKSUM_AGG (Transact-SQL)

Zwraca sumę kontrolną, wartości w grupie.Wartości null są ignorowane.Może nastąpić W klauzula.

Topic link iconKonwencje składni języka Transact-SQL

CHECKSUM_AGG ( [ ALL | DISTINCT ] expression )

Argumenty

  • ALL
    Dotyczy wszystkich wartości funkcja agregacja.WSZYSTKO jest domyślnym.

  • DISTINCT
    Określa, że CHECKSUM_AGG zwraca wartość suma kontrolna wartości unikatowych.

  • expression
    Jest liczbą całkowitą wyrażenie.Funkcje agregacja i podkwerend nie są dozwolone.

Zwracane typy

Zwraca wartość suma kontrolna wszystkich expression wartości, jak int.

Remarks

CHECKSUM_AGG może służyć do wykrywać zmian w tabela.

Porządek wierszy w tabela nie ma wpływu na wynik CHECKSUM_AGG.Również CHECKSUM_AGG funkcje mogą być używane słowo kluczowe DISTINCT i klauzula GROUP BY.

Jeśli jedna z wartości na liście wyrażenie ulegnie zmianie, zmieni się także na ogół suma kontrolna listyJednak istnieje niewielkie ryzyko, że tej suma kontrolna nie ulegnie zmianie.

CHECKSUM_AGG ma podobną agregacja z innych funkcji agregujących.Aby uzyskać więcej informacji zobaczAggregate Functions (Transact-SQL).

Przykłady

W poniższym przykładzie użyto CHECKSUM_AGG do wykrywać zmian w Quantity Kolumna ProductInventory Tabela w AdventureWorks Baza danych.

--Get the checksum value before the column value is changed.
USE AdventureWorks;
GO
SELECT CHECKSUM_AGG(CAST(Quantity AS int))
FROM Production.ProductInventory;
GO

Here is the result set.

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

Here is the result set.

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