CHECKSUM_AGG (Transact-SQL)
Devuelve la suma de comprobación de los valores de un grupo. Se omiten los valores NULL. Puede ir seguida de la cláusula OVER.
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 valor predeterminado.DISTINCT
Especifica que CHECKSUM_AGG devuelve la suma de comprobación de valores únicos.expression
Es una expresión entera. No se permiten funciones de agregado ni subconsultas.
Tipos de valor devueltos
Devuelve la suma de comprobación de todos los valores de expression como tipo int.
Comentarios
CHECKSUM_AGG se puede utilizar para detectar cambios en una tabla.
El orden de las filas en la tabla no afecta al resultado de CHECKSUM_AGG. Además, las funciones CHECKSUM_AGG se pueden utilizar con la palabra clave DISTINCT y la cláusula GROUP BY.
Si uno de los valores de la lista de expresiones cambia, la suma de comprobación de la lista generalmente también cambia. No obstante, existe una pequeña posibilidad de que la suma de comprobación no cambie.
CHECKSUM_AGG tiene una función similar a otras funciones de agregado. Para obtener más información, vea Funciones de agregado (Transact-SQL).
Ejemplos
El ejemplo siguiente utiliza CHECKSUM_AGG para detectar cambios en la columna Quantity de la tabla ProductInventory en la base de datos AdventureWorks.
--Get the checksum value before the column value is changed.
USE AdventureWorks2012;
GO
SELECT CHECKSUM_AGG(CAST(Quantity AS int))
FROM Production.ProductInventory;
GO
El conjunto de resultados es el siguiente.
------------------------
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;
El conjunto de resultados es el siguiente.
------------------------
287