Compartir a través de


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.

Icono de vínculo a temas 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

Vea también

Referencia

CHECKSUM (Transact-SQL)

OVER (cláusula de Transact-SQL)