【问题标题】:Perform query if hash/checksum values are different in both tables SQL Server如果两个表 SQL Server 中的哈希/校验和值不同,则执行查询
【发布时间】:2020-10-29 16:34:24
【问题描述】:

我想根据对 table1 的更改将 table1 归档到 table2。 (table2为归档表)

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

table1 = hash1 = CHECKSUM_AGG(BINARY_CHECKSUM(*)

table2 = hash2 = CHECKSUM_AGG(BINARY_CHECKSUM(*)

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

如果这两个哈希值匹配,则什么也不做,如果它们现在不同,则查询 x。

如何使用 IFElse 等构造这个 SQL 查询?有没有一种无需创建单独的表/存储过程等的最佳方法?

【问题讨论】:

    标签: sql hash changeset


    【解决方案1】:

    这能满足你的需要吗?

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

    【讨论】:

    • 不确定这是否可行,如何让 IF 语句引用 select 查询的 hash1/2 列?
    猜你喜欢
    • 2010-12-06
    • 1970-01-01
    • 2011-09-16
    • 2016-05-03
    • 1970-01-01
    • 1970-01-01
    • 2014-11-21
    • 2022-09-23
    • 1970-01-01
    相关资源
    最近更新 更多