【问题标题】:sybase update trigger checksybase 更新触发器检查
【发布时间】:2016-11-18 02:33:24
【问题描述】:

在 Sybase 中,我有一个名为 test 的主表和一个名为 test_a 的审计表。为了更新审计表,我创建了触发器插入、更新和删除。但问题是,当我使用相同的数据进行更新查询时,更新触发器会触发并在审计表中记录每个创建重复的更新。当使用更新查询时没有进行任何更改时,我想停止更新触发器触发。它应该仅在插入新行但不存在时触发。

我的桌子有

test : ID | NAME | DESC
test_a : UPDATED_BY|DATE|ID|NAME|DESC

您能否建议在查询中没有更新新更改时如何停止触发触发。

谢谢。

【问题讨论】:

  • 然后删除update触发器,只使用insert触发器。
  • 我知道我们可以替换插入而不是更新,但我想在更新触发器中检查值是新的还是旧的,如果它是新的,它会更新,如果是旧的,它不应该更新。

标签: triggers sql-update duplicates sybase


【解决方案1】:

您无法阻止更新触发器触发 - UPDATE 语句将始终触发它。但是您可以比较“插入”和“删除”表的内容,以确定是否确实更新了任何值。如果不是,则不要修改审计表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-19
    • 1970-01-01
    • 2017-02-16
    • 1970-01-01
    • 2015-09-18
    相关资源
    最近更新 更多