DB2中的触发器是什么?触发器和存储过程有什么区别?


触发器是数据库程序,由DBMS在对指定表进行任何修改时自动触发。一个触发器只能与一个表关联,并且如果发生所需事件,则不能跳过它们。

触发器类似于存储过程,因为两者都是由DB2直接管理的代码片段。但是,触发器是事件驱动的,并且一旦在指定表上发生所需事件(INSERT/UPDATE/DELETE),就会自动执行。

另一方面,存储过程需要在应用程序程序中显式调用。它们之间的另一个区别是,触发器仅与单个表相关联,但在存储过程的情况下,我们可以使用多个表。

以下代码块说明了存储过程和触发器的功能。

以下三个要点突出了触发器和存储过程之间的区别。

  • 存储过程从数据库返回结果或数据,但触发器仅对数据库进行更改,不返回任何数据。
  • 触发器是事件驱动的,即在数据库中进行任何更改时都会激活。但是,存储过程不是事件驱动的。
  • 触发器只能对单个表(INSERT/UPDATE/DELETE)进行操作;另一方面,存储过程可以对多个表进行操作。

更新于: 2020年12月1日

1K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告