Udostępnij za pośrednictwem


CHECKSUM_AGG (Transact-SQL)

Zwraca wartość suma kontrolna wartości w grupie.Wartości zerowe są ignorowane.Może nastąpić nad klauzula.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

CHECKSUM_AGG ( [ ALL | DISTINCT ] expression )

Argumenty

  • ALL
    Dotyczy wszystkich wartościfunkcja wartość zagregowana. Jest wartością domyślną.

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

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

Zwracane typy

Zwraca wartość suma kontrolna wszystkich expression wartości jako int.

Uwagi

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

Porządek wierszy w tabela nie wpływa na wynik CHECKSUM_AGG.Funkcje CHECKSUM_AGG może również być używane słowo kluczowe DISTINCT i Grupuj według klauzula.

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

CHECKSUM_AGG ma podobną funkcjonalność z innych funkcji wartość zagregowana .Aby uzyskać więcej informacji, zobacz Funkcje agregujące (Transact-SQL).

Przykłady

W poniższym przykładzie użyto CHECKSUM_AGG do wykrywać zmian w Quantity kolumna ProductInventory tabela w AdventureWorks2008R2 bazy danych.

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

Oto zestaw wyników.

------------------------

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;

Oto zestaw wyników.

------------------------

287