本文件已封存並已停止維護。
CHECKSUM_AGG (Transact-SQL)
SQL Server 2005
傳回群組中各個值的總和檢查碼。系統會忽略 Null 值。後面可能接著 OVER 子句。
- ALL
-
將彙總函數套用至所有值。ALL 是預設值。
- DISTINCT
-
指定 CHECKSUM_AGG 傳回唯一值的總和檢查碼。
- expression
-
這是一個常數、資料行或函數,或算術、位元和字串運算子的任何組合。expression 是 int 資料類型的運算式。不允許彙總函數和子查詢。
如需詳細資訊,請參閱<運算式 (Transact-SQL)>。
CHECKSUM_AGG 可用來偵測資料表中的變更。
資料表中的資料列順序不會影響 CHECKSUM_AGG 的結果。另外,CHECKSUM_AGG 函數也可以搭配 DISTINCT 關鍵字和 GROUP BY 子句來使用。
如果變更了運算式清單中的其中一個值,清單的總和檢查碼通常也會改變。不過,總和檢查碼也有可能不會變更。
CHECKSUM_AGG 的功能相似於其他彙總函數。如需詳細資訊,請參閱<彙總函數 (Transact-SQL)>。
下列範例會利用 CHECKSUM_AGG 來偵測 AdventureWorks 資料庫中 ProductInventory 資料表之 Quantity 資料行的變更。
--Get the checksum value before the column value is changed. USE AdventureWorks; GO SELECT CHECKSUM_AGG(CAST(Quantity AS int)) FROM Production.ProductInventory; GO
以下為結果集:
------------------------ 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;
以下為結果集:
------------------------ 287
顯示:

