當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。