在本节中,我们将了解PostgreSQL DROP TRIGGER命令的工作原理,并查看从 PostgreSQL 中的指定表删除和删除触发器的示例。
在 PostgreSQL 中,我们可以使用 Drop Trigger 命令删除现有触发器。
下图用于从特定表中删除触发器:
删除触发器 [如果存在] 触发器名称
ON 表名 [CASCADE |限制];
在上面的语法中,我们使用了以下参数:
参数 | 描述 |
---|---|
触发器名称 |
|
如果存在 |
|
表名称 |
|
级联 |
|
限制 |
|
注意:在 SQL 中,触发器名称不仅限于表,因此,我们可以使用以下命令:
DROP TRIGGER 触发器名称;
让我们看一个简单的示例来了解PostgreSQL DROP 触发器命令的工作原理。
为此,我们使用了 Employee 表,该表是在 PostgreSQL 教程的上一部分中创建的。
首先,我们将创建一个函数来检查 员工的 emp_name,其中 员工 name 的长度必须是至少 10, 并且不能为空。
创建函数 check_emp_name()
退货触发
作为$$
开始
IF 长度(NEW.emp_name) < 10 或 NEW.emp_name 为 NULL THEN
引发异常 'emp_name 不能少于 10 个字符';
万一;
如果 NEW.emp_nAME 为 NULL 那么
引发异常“emp_name 不能为 NULL”;
万一;
返回新的;
结尾;
$$
语言 plpgsql;
输出
执行上述命令后,我们将收到以下消息: check_emp_name()函数已成功创建到Organization数据库中。
创建 check_emp_name() 函数,我们将在 employee 表 上创建一个新触发器 来检查 员工的 emp_name。
每次我们在 Employee 表(取自 Organization 数据库)中更新或插入一行 时,都会执行相同的触发器:
创建触发器 emp_name_check
插入或更新之前
安恩员工
对于每一行
执行过程 check_emp_name();
输出
执行上述命令后,我们将看到以下消息窗口,显示emp_name_check触发器已成功插入到Employee表中。
成功生成函数和触发器后,我们将借助DROP TRIGGER命令删除emp_name_check触发器,如下所示:
删除触发器 emp_name_check
ON 员工;
输出
执行上述命令后,我们将得到以下输出,表明特定触发器已成功从Employee表中删除。
在PostgreSQL 删除触发器部分中,我们了解了以下主题: