CHECKSUM_AGG (Transact-SQL)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Punto de conexión de análisis SQL en Microsoft Fabric Almacenamiento en Microsoft Fabric
Esta función devuelve la suma de comprobación de los valores de un grupo. CHECKSUM_AGG
omite los valores NULL. La cláusula OVER puede seguir a CHECKSUM_AGG
.
Convenciones de sintaxis de Transact-SQL
Sintaxis
CHECKSUM_AGG ( [ ALL | DISTINCT ] expression )
Argumentos
ALL
Aplica la función de agregado a todos los valores. ALL es el argumento predeterminado.
DISTINCT
Especifica que CHECKSUM_AGG
devuelve la suma de comprobación de valores únicos.
expression
Una expresión de entero. CHECKSUM_AGG
no permite el uso de funciones de agregado ni subconsultas.
Tipos de valores devueltos
Devuelve la suma de comprobación de todos los valores de expression como int.
Comentarios
CHECKSUM_AGG
puede detectar cambios en una tabla.
El resultado CHECKSUM_AGG
no depende del orden de las filas de la tabla. Asimismo, las funciones CHECKSUM_AGG
permiten el uso de la palabra clave DISTINCT
y de la cláusula GROUP BY
.
Si se cambia un valor de una lista de expresiones, probablemente también cambiará la lista de valores de la suma de comprobación de lista, aunque hay una pequeña posibilidad de que la suma de comprobación calculada no cambie.
CHECKSUM_AGG
tiene una funcionalidad similar a la de otras funciones de agregado. Para más información, vea Funciones de agregado (Transact-SQL).
Ejemplos
En estos ejemplos se usa CHECKSUM_AGG
para detectar cambios en la columna Quantity
de la tabla ProductInventory
en la base de datos AdventureWorks2022.
--Get the checksum value before the column value is changed.
SELECT CHECKSUM_AGG(CAST(Quantity AS INT))
FROM Production.ProductInventory;
GO
Este es el conjunto de resultados.
------------------------
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;
Este es el conjunto de resultados.
------------------------
287