如果两个表中的哈希/校验和值不同,则执行查询

问题描述

我想基于对table1的更改将table1存档到table2。 (table2是存档表)

我编写了一个查询,向我提供了每个表的校验和/哈希(实际上告诉我表的内容是否已更改):

table1 = hash1 = CHECKSUM_AGG(BINARY_CHECKSUM(*)

table2 = hash2 = CHECKSUM_AGG(BINARY_CHECKSUM(*)

我想编写一个存储过程来执行以下操作:

如果这两个哈希值匹配,则不执行任何操作;如果它们现在不同,则执行查询x。

如何使用 IF Else 等来构造此SQL查询?有没有这样做的最佳方法而不必创建单独的表/存储的proc等?

解决方法

这是您需要的吗?


IF HASH1 <> HASH2
BEGIN
 EXEC procname --This doesn't have to be a stored proc,could be a standalone statement
END