Condividi tramite


CHECKSUM_AGG (Transact-SQL)

Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Endpoint di analisi SQL in Microsoft Fabric Warehouse in Microsoft Fabric

Questa funzione restituisce il valore di checksum dei valori di un gruppo. CHECKSUM_AGG ignora i valori Null. La clausola OVER può seguire CHECKSUM_AGG.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

CHECKSUM_AGG ( [ ALL | DISTINCT ] expression )  

Argomenti

ALL
Applica la funzione di aggregazione a tutti i valori. L'argomento predefinito è ALL.

DISTINCT
Specifica che CHECKSUM_AGG restituisce il valore di checksum di valori univoci.

expression
Espressione integer. CHECKSUM_AGG non consente l'uso di funzioni o sottoquery di aggregazione.

Tipi restituiti

Restituisce il valore di checksum di tutti i valori di expression come valore int.

Osservazioni:

CHECKSUM_AGG consente di rilevare le modifiche in una tabella.

Il risultato CHECKSUM_AGG non dipende dall'ordine delle righe nella tabella. Le funzioni CHECKSUM_AGG consentono anche l'uso della parola chiave DISTINCT e della clausola GROUP BY.

Se un valore di elenco di espressioni cambia, è probabile che cambi anche l'elenco di valori di checksum dell'elenco. Esiste tuttavia una minima possibilità che il valore di checksum calcolato non verrà modificato.

CHECKSUM_AGG offre una funzionalità simile a quella di altre funzioni di aggregazione. Per altre informazioni, vedere Funzioni di aggregazione (Transact-SQL).

Esempi

Questi esempi usano CHECKSUM_AGG per rilevare le modifiche nella Quantity colonna della ProductInventory tabella nel database AdventureWorks2022.

--Get the checksum value before the column value is changed.  

SELECT CHECKSUM_AGG(CAST(Quantity AS INT))  
FROM Production.ProductInventory;  
GO  

Il set di risultati è il seguente.

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

Il set di risultati è il seguente.

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

Vedi anche

CHECKSUM (Transact-SQL)

HASHBYTES (Transact-SQL)

BINARY_CHECKSUM (Transact-SQL)

Clausola OVER (Transact-SQL)