CHECKSUM_AGG (Transact-SQL)
Restituisce il valore di checksum dei valori di un gruppo. I valori Null vengono ignorati. Può precedere la clausola OVER.
Sintassi
CHECKSUM_AGG ( [ ALL | DISTINCT ] expression )
Argomenti
ALL
Applica la funzione di aggregazione a tutti i valori. È il valore predefinito.DISTINCT
Specifica che la funzione CHECKSUM_AGG restituisce il valore di checksum di valori univoci.expression
Espressione integer. Non è possibile utilizzare funzioni di aggregazione e sottoquery.
Tipi restituiti
Restituisce il valore di checksum di tutti i valori di expression come valore int.
Osservazioni
La funzione CHECKSUM_AGG può essere utilizzata per rilevare modifiche in una tabella.
L'ordine delle righe nella tabella non influisce sul risultato della funzione CHECKSUM_AGG. È inoltre possibile utilizzare le funzioni CHECKSUM_AGG con la parola chiave DISTINCT e la clausola GROUP BY.
Se uno dei valori nell'elenco di espressioni cambia, in genere cambia anche il valore di checksum dell'elenco. È comunque possibile che il valore di checksum rimanga invariato.
La funzionalità di CHECKSUM_AGG è simile a quella di altre funzioni di aggregazione. Per ulteriori informazioni, vedere Funzioni di aggregazione (Transact-SQL).
Esempi
Nell'esempio seguente viene utilizzata la funzione CHECKSUM_AGG per rilevare le modifiche apportate nella colonna Quantity della tabella ProductInventory inclusa nel database AdventureWorks2008R2.
--Get the checksum value before the column value is changed.
USE AdventureWorks2008R2;
GO
SELECT CHECKSUM_AGG(CAST(Quantity AS int))
FROM Production.ProductInventory;
GO
Set di risultati:
------------------------
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;
Set di risultati:
------------------------
287