要在PostgreSQL中創建一個新的觸發器,可以使用如下的語法:
CREATE TRIGGER trigger_name
BEFORE/AFTER INSERT/UPDATE/DELETE ON table_name
FOR EACH ROW
EXECUTE FUNCTION trigger_function();
其中:
trigger_name
是觸發器的名稱,可以自定義命名。BEFORE/AFTER
指定觸發器在操作執行前還是執行后觸發。INSERT/UPDATE/DELETE
指定觸發器在哪種操作時觸發。table_name
是觸發器所屬的表名。FOR EACH ROW
表示觸發器針對表中的每一行數據都會觸發。EXECUTE FUNCTION trigger_function()
是觸發器觸發時執行的函數。在創建觸發器之前,需要先創建一個函數,然后將函數與觸發器關聯起來。創建函數的語法如下:
CREATE FUNCTION trigger_function()
RETURNS TRIGGER AS $$
BEGIN
-- 觸發器執行的具體操作
END;
$$ LANGUAGE plpgsql;
在函數體內編寫具體的觸發器操作邏輯。最后,將函數與觸發器關聯起來,創建完整的觸發器。