CHECKSUM_AGG (Transact-SQL)
Devuelve la suma de comprobación de los valores de un grupo. Los valores NULL se pasan por alto. 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
Se trata de una constante, columna o función, y cualquier combinación de operadores aritméticos, bit a bit y de cadena. expression es una expresión de tipo de datos int. No se permiten funciones de agregado ni subconsultas.Para obtener más información, vea Expresiones (Transact-SQL).
Tipos de valor devueltos
Devuelve la suma de comprobación de todos los valores de expression como tipo int.
Notas
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 AdventureWorks;
GO
SELECT CHECKSUM_AGG(CAST(Quantity AS int))
FROM Production.ProductInventory;
GO
Éste 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;
Éste es el conjunto de resultados.
------------------------
287
Vea también
Referencia
CHECKSUM (Transact-SQL)
OVER (cláusula de Transact-SQL)