【问题标题】:Sybase Triggers on Insert & Update - Handling failures插入和更新时的 Sybase 触发器 - 处理失败
【发布时间】:2012-04-19 08:04:22
【问题描述】:

在 Sybase ASE 中,我有几个审计表和位于主表上的触发器。审计非常简单,每个表都有一个插入/更新/删除触发器,它简单地插入一个相同的行和附加列,该列标记/标记操作是插入、更新还是删除、用户和时间。

现在审核并不重要,因此如果审核触发器因任何原因失败,那么我们希望避免终止触发触发器的整个操作。

说 TableA 有 TriggerA 插入到 TableB 中。

我们在 TableA 上执行 StatementX,它触发由 StatmentsY 组成的 TriggerA,TriggerA 在 SatementsY 上无法插入 TableB。现在正常的模式是回滚 StatementX 和 StatementY 以确保完整性。

有没有办法说在触发器中创建一个保存点,这样如果 StatementY 失败,StatementX 不会中断并且 StatementX 仍然被提交(即只有 StatementY 被回滚)?

【问题讨论】:

    标签: sql triggers insert sap-ase


    【解决方案1】:

    我认为这是不可能的。

    触发器仅在数据修改语句完成后触发 已完成且 Adaptive Server 已检查任何数据类型、规则或 完整性约束违规。触发器和语句 触发它被视为可以回滚的单个事务 从触发器内部。如果检测到严重错误,则整个 事务被回滚。

    欲了解更多信息,请查看THIS


    添加:您还可以查看THIS 以获取有关回滚触发器的信息,但我认为这不是您想要的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-18
      相关资源
      最近更新 更多