Condividi tramite


CHECKSUM_AGG (Transact-SQL)

Restituisce il valore di checksum dei valori di un gruppo. I valori Null vengono ignorati. Può precedere la clausola OVER.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

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