📜  PostgreSQL DISABLE触发器

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

PostgreSQL禁用触发器

在本节中,我们将使用ALTER TABLE命令了解Disable触发器的工作原理,并查看其示例

什么是PostgreSQL DISABLE TRIGGER命令?

如果要禁用触发器,则将DISABLE TRIGGER命令与ALTER TABLE命令一起使用

PostgreSQL使用ALTER TRIGGER命令禁用触发器的语法

使用ALTER TRIGGER命令的PostgreSQL禁用触发器语法如下:

ALTER TABLE table_name
DISABLE TRIGGER trigger_name | ALL

在上面的语法中,我们使用了以下参数,如下表所示:

Parameters Description
Table_name
  • The table_name parameter is used to define the table name where the trigger is linked.
  • And it is mentioned after the ALTER TABLE keywords.
Trigger_name
  • It is used to define the trigger name, which we want to disable it.
  • And it can be written after the DISABLE TRIGGER keywords.
  • And to disable all triggers Linked with the table, we can use the ALL keyword as well.

注意:如果我们尝试禁用触发器,但是该触发器仍存在于数据库中,或者如果发生了与触发器链接的事件,那么将不会执行禁用的触发器命令。

使用ALTER TABLE命令的PostgreSQL DISABLE TRIGGER的示例

让我们看一个示例示例,以了解PostgreSQL DISABLE Trigger命令的工作。

  • 使用触发器名称

在以下示例中,我们采用在PostgreSQL教程的PostgreSQL创建触发器部分中创建的Clients表。

以下命令禁用与Clients连接的触发器:

ALTER TABLE Clients
DISABLE TRIGGER First_name_changes;

输出量

实施上述命令后,我们将获得以下消息窗口,该窗口显示First_name_changes触发器已成功禁用Clients表中。

  • 使用ALL关键字代替触发器名称

并且,如果我们想禁用所有与“客户”表链接的触发器,则可以使用以下命令:

ALTER TABLE Clients
DISABLE TRIGGER ALL;

输出量

实施上述命令后,我们将获得以下窗口消息,该消息显示与Clients表相关的所有触发器均已成功禁用。

总览

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

  • 我们已经使用带有ALTER TABLE命令的PostgreSQL DISABLE TRIGGER命令,通过与指定表链接的特定触发器名称来禁用触发器。
  • 除了使用触发器名称之外,我们还可以使用ALL关键字禁用与特定表链接的所有触发器。