在 PostgreSQL 中,修改觸發器,你使用改變觸發器陳述。該語句是 SQL 標準的 PostgreSQL 擴展。的語法改變觸發器聲明如下:
用法:
ALTER TRIGGER trigger_name ON table_name
RENAME TO new_name;
讓我們分析以上語法:
- 首先,指定與要更改的特定表關聯的觸發器的名稱。
- 其次,將新的觸發器名稱放入重命名為條款。
例:
第一的,我們使用以下語句創建一個員工表進行演示:
CREATE TABLE staff(
user_id serial PRIMARY KEY,
username VARCHAR (50) UNIQUE NOT NULL,
password VARCHAR (50) NOT NULL,
email VARCHAR (355) UNIQUE NOT NULL,
created_on TIMESTAMP NOT NULL,
last_login TIMESTAMP
);
其次,創建一個驗證員工用戶名的函數。工作人員的用戶名不能為空,長度至少為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();
現在修改above-created觸發器使用以下語句:
ALTER TRIGGER username_check ON staff RENAME TO check_username;
輸出:

相關用法
- PostgreSQL ALTER DATABASE用法及代碼示例
- PostgreSQL ALTER TABLE用法及代碼示例
- PostgreSQL ALTER SCHEMA用法及代碼示例
- PostgreSQL ALTER ROLE用法及代碼示例
- PostgreSQL ALTER TABLESPACE用法及代碼示例
- PostgreSQL CREATE TRIGGER用法及代碼示例
- PostgreSQL DROP TRIGGER用法及代碼示例
- PostgreSQL NOT IN用法及代碼示例
- PostgreSQL IN用法及代碼示例
注:本文由純淨天空篩選整理自RajuKumar19大神的英文原創作品 PostgreSQL – ALTER TRIGGER。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
