当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PostgreSQL DROP TRIGGER用法及代码示例


在 PostgreSQL 中,下降触发器 陈述用于从表中删除触发器。

用法:
DROP TRIGGER [IF EXISTS] trigger_name 
ON table_name [ CASCADE | RESTRICT ];

让我们分析以上语法:

  • 首先,在后面指定要删除的触发器的名称下降触发器关键字。
  • 二、使用如果存在仅在触发器存在时有条件地删除触发器。尝试删除不存在的触发器而不指定如果存在语句导致错误。如果你使用如果存在要删除不存在的触发器,PostgreSQL 会发出通知。
  • 第三,指定触发器所属的表名。如果表属于特定模式,则可以使用表的 schema-qualified 名称。
  • 四、使用级联选项,如果您想自动删除依赖于触发器的对象。注意级联选项还将删除依赖于触发器的对象的对象。
  • 五、使用RESTRICT如果有任何对象依赖它,则拒绝丢弃触发器。默认情况下,下降触发器语句使用RESTRICT

例:

首先,创建一个函数来验证员工的用户名。工作人员的用户名不能为空,长度至少为8。

CREATE FUNCTION check_staff_user()
    RETURNS TRIGGER
AS $$
BEGIN
    IF length(NEW.username) < 8 OR NEW.username IS NULL THEN
        RAISE EXCEPTION 'The username cannot be less than 8 characters';
    END IF;
    IF NEW.NAME IS NULL THEN
        RAISE EXCEPTION 'Username cannot be NULL';
    END IF;
    RETURN NEW;
END;
$$
LANGUAGE plpgsql;

其次,在员工表上创建一个新的触发器来检查员工的用户名。每当您在职员表。



CREATE TRIGGER username_check 
    BEFORE INSERT OR UPDATE
ON staff
FOR EACH ROW 
    EXECUTE PROCEDURE check_staff_user();

这将导致以下触发器创建:

三、使用下降触发器声明删除username_check扳机:

DROP TRIGGER username_check
ON staff;

输出:

相关用法


注:本文由纯净天空筛选整理自RajuKumar19大神的英文原创作品 PostgreSQL – DROP TRIGGER。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。