DEV Community

Query Filter
Query Filter

Posted on

syb7

-- Declare all variables first
DECLARE @combined VARBINARY(16)
DECLARE @rowhash VARBINARY(16)

-- Initialize combined variable
SELECT @combined = 0x0

-- Declare the cursor
DECLARE row_cursor CURSOR FOR
SELECT HASHBYTES('MD5',
ISNULL(LTRIM(RTRIM(CONVERT(VARCHAR(255), INTERNINSTID))), '') ||
ISNULL(LTRIM(RTRIM(CONVERT(VARCHAR(255), INTERNVERSION))), '') ||
ISNULL(LTRIM(RTRIM(CONVERT(VARCHAR(255), INTERNTIMESTAMP))), '') ||
ISNULL(LTRIM(RTRIM(CONVERT(VARCHAR(255), INTERNRECTYPE))), '') ||
ISNULL(LTRIM(RTRIM(CONVERT(VARCHAR(255), INTERNFIXSTRING))), '') ||
ISNULL(LTRIM(RTRIM(CONVERT(VARCHAR(255), ORDERID))), '') ||
ISNULL(LTRIM(RTRIM(CONVERT(VARCHAR(255), ACCOUNT))), '') ||
ISNULL(LTRIM(RTRIM(CONVERT(VARCHAR(255), MERGEID))), '') ||
ISNULL(LTRIM(RTRIM(CONVERT(VARCHAR(255), PARENTORDERID))), '') ||
ISNULL(LTRIM(RTRIM(CONVERT(VARCHAR(255), SALESPERSONID))), '') ||
ISNULL(LTRIM(RTRIM(CONVERT(VARCHAR(255), SYMBOL))), '') ||
ISNULL(LTRIM(RTRIM(CONVERT(VARCHAR(255), EXPIREDATE))), '') ||
ISNULL(LTRIM(RTRIM(CONVERT(VARCHAR(255), EXPIRETIME))), '') ||
ISNULL(LTRIM(RTRIM(CONVERT(VARCHAR(255), LEAVESQTY))), '') ||
ISNULL(LTRIM(RTRIM(CONVERT(VARCHAR(255), TIMEINFORCE))), '')
)
FROM CADECPLSORDER

-- Open and process the cursor
OPEN row_cursor
FETCH row_cursor INTO @rowhash

WHILE (@@sqlstatus = 0)
BEGIN
SELECT @combined = @combined ^ @rowhash
FETCH row_cursor INTO @rowhash
END

CLOSE row_cursor
DEALLOCATE CURSOR row_cursor

SELECT CONVERT(VARCHAR(32), @combined, 2) AS table_checksum
GO

Top comments (0)