📜  PostgreSQL触发器

📅  最后修改于: 2020-11-30 09:27:45             🧑  作者: Mango

PostgreSQL触发器

在本节中,我们将了解PostgreSQL触发器的工作原理,为什么需要使用触发器以及何时使用它们,并了解PostgreSQL触发器的优缺点PostgreSQL触发器的功能以及执行的各种命令。在PostgreSQL触发器部分下。

什么是PostgreSQL触发器?

触发器是与表连接的特殊用户定义函数。如果我们要生成一个新触发器:

  • 首先,我们可以指定一个触发函数。
  • 其次,将相同的触发函数绑定到表。

注意:触发器和用户定义函数之间的主要差异在于,当发生任何触发事件时,都会自动引发一个触发器。

PostgreSQL触发器是一个函数,只要事件与表链接,该触发器就会自动涉及。该事件可以描述为以下INSERT,UPDATE,DELETE或TRUNCATE中的任何一个。

触发类型

PostgreSQL中,触发器可以分为两部分,如下所示:

  • 行级触发器
  • 语句级触发器

例如,如果我们发出影响10行的UPDATE命令,则行级触发器将被调用10次,另一方面,语句级触发器将被调用1次

如何在PostgreSQL中使用Trigger?

  • 触发器还可以通过FOR EACH命令运算符的创建进行标记,并且同一触发器对于特定操作只能实现一次。
  • 我们可以在创建触发器时将触发器与FOR EACH ROW运算符一起使用,并且该触发器将为该操作更改的每一行调用一次。

触发器的使用

触发器可用于以下方面:

  • 触发器可用于验证输入数据。
  • 触发器还可以实施业务规则。
  • 它可以轻松地检索系统功能。
  • 触发器可用于为多样化文件中新插入的行创建唯一值。
  • 通过使用触发器,我们可以在另一个文件中重复数据以达到数据可靠性。
  • 它用于编写添加文件以实现审计跟踪的目的。
  • 触发器可用于从其他文件获取数据以实现交叉引用目标。

PostgreSQL触发器中使用的Various命令

在PostgreSQL触发器中,我们可以执行以下命令:

  • 创建触发器
  • ALTER触发器
  • 下降触发
  • 启用触发器
  • 禁用触发器

让我们一一理解它们:

  • 创建触发器:在PostgreSQL中,CREATE TRIGGER命令逐步生成我们的第一个触发器。
  • 更改触发器: ALTER TRIGGER命令用于重命名触发器。
  • 删除触发器: DROP TRIGGER命令用于定义从表中删除触发器的步骤
  • 启用触发器:在PostgreSQL触发器中,ENABLE TRIGGER语句允许一个或多个与表相关的触发器。
  • 禁用触发器: DISABLE TRIGGER用于显示如何禁用触发器或与表链接的所有触发器。

PostgreSQL触发器的功能

PostgreSQL触发器的一些基本功能如下:

  • PostgreSQL将执行TRUNCATE事件的触发器。
  • PostgreSQL允许我们在视图上指定语句级触发器。
  • PostgreSQL需要指定一个用户定义的函数作为触发器的动作,而SQL标准允许我们使用任何SQL命令。

使用PostgreSQL触发器的优势

使用PostgreSQL触发器具有以下优点:

  • PostgreSQL触发器用于增强客户端-服务器环境的性能,因为在检索输出之前,所有准则都在服务器上执行。
  • 如果多个应用程序检索数据库,则PostgreSQL触发器将是有益的。我们需要保留数据库中的交叉功能,只要表数据发生更改,该交叉功能就会重复执行。
    • 例如,如果我们想保留过去的数据,而无需应用程序有理由验证每个事件(例如UPDATE或INSERT)。
  • 随着数据库存储触发器,它将加速应用程序开发,并且我们不必将触发器操作的代码编写到每个数据库应用程序中。
  • 我们可以定义在事件之前还是之后请求触发器:
    • 假设在事件之后请求了触发器,则触发器可以访问所有修改。
    • 或者,如果在事件之前请求了触发器,则可以修改要插入或更新的行,或者我们可以跳过现有行的操作。
  • 使用PostgreSQL触发器的重要性,我们可以轻松地监视业务策略变更,并且只需要在每个应用程序中代替它的等效触发器程序进行修改。
  • 我们还可以使用触发器来包含复杂的数据完整性规则,这些规则不能在其他地方执行(数据库级别除外)。
    • 例如,当将新行插入Employee表时,还必须在Department和Jobs中生成其他行

使用PostgreSQL触发器的缺点

使用PostgreSQL触发器的主要缺点是,我们必须知道触发器的发生并了解其逻辑以及修改数据时的影响。

总览

在PostgreSQL触发器部分中,我们学习了以下主题:

  • 我们已经了解了PostgreSQL触发器。
  • 我们已经了解了触发器的用法以及如何在PostgreSQL中使用触发器。
  • 我们已经了解了PostgreSQL Trigger的功能。
  • 各种PostgreSQL命令的简介,例如CREATE,ALTER,DROP,ENABLE和DISABLE。
  • 使用PostgreSQL触发器的优缺点。