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.

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

Ayuda e información

Obtener ayuda sobre SQL Server 2005