可用版本: Dev (3.21) | 最新 (3.20) | 3.19 | 3.18 | 3.17 | 3.16 | 3.15

事件

适用于 ❌ 开源版   ✅ Express 版   ✅ 专业版   ✅ 企业版

大多数支持触发器的方言都可以触发 ...

  • BEFORE(之前)
  • AFTER(之后)
  • INSTEAD OF(代替)

... 某些事件,包括 ...

  • INSERT(插入)
  • UPDATE(更新)
  • DELETE(删除)

请注意,以上指的是事件,而不是语句,这意味着触发器也可能因 MERGE 语句而触发。

一些例子说明了可能的触发器

create.createTrigger("trg1")
      .beforeInsert()
      .on(BOOK)
      .forEachRow()
      .as(insertInto(LOG).columns(LOG.TEXT).values("Row inserted in BOOK"))
      .execute();

create.createTrigger("trg")
      .beforeUpdate()
      .on(BOOK)
      .forEachRow()
      .as(insertInto(LOG).columns(LOG.TEXT).values("Row updated in BOOK"))
      .execute();

create.createTrigger("trg")
      .beforeDelete()
      .on(BOOK)
      .forEachRow()
      .as(insertInto(LOG).columns(LOG.TEXT).values("Row deleted in BOOK"))
      .execute();

create.createTrigger("trg")
      .beforeInsert().orUpdate().orDelete()
      .on(BOOK)
      .forEachRow()
      .as(insertInto(LOG).columns(LOG.TEXT).values("Row inserted or updated or deleted in BOOK"))
      .execute();

引用此页

反馈

您对此页面有任何反馈吗? 我们很乐意听到!

The jOOQ Logo