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
    Costante, colonna o funzione e qualsiasi combinazione di operatori aritmetici, bit per bit e di stringa. expression è un'espressione di tipo int. Non è possibile utilizzare funzioni di aggregazione e subquery.

    Per ulteriori informazioni, vedere Espressioni (Transact-SQL).

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

--Get the checksum value before the column value is changed.
USE AdventureWorks;
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

Vedere anche

Riferimento

CHECKSUM (Transact-SQL)
Clausola OVER (Transact-SQL)

Guida in linea e informazioni

Assistenza su SQL Server 2005