„Tworzenie wyzwalacza ” składa się z dwóch kroków w PostgreSQL:
1.) Utwórz funkcję wyzwalacza
- ze specjalną zwracaną wartością trigger
:
CREATE FUNCTION trg_update_prod_price()
RETURNS trigger AS
$func$
BEGIN
NEW.price := NEW.price + 5;
RETURN NEW;
END
$func$ LANGUAGE plpgsql;
Wiele wyzwalaczy może używać tej samej funkcji wyzwalacza.
2.) Utwórz wyzwalacz wywołanie istniejącej funkcji wyzwalacza:
CREATE TRIGGER update_prod_price
BEFORE INSERT ON products
FOR EACH ROW EXECUTE PROCEDURE trg_update_prod_price();
Aby „upuścić spust” (co oznacza funkcję wyzwalania ), musisz najpierw usunąć wszystkie wyzwalacze, które się do niego odwołują, a następnie usunąć samą funkcję wyzwalacza.
DROP TRIGGER update_prod_price ON products;
DROP FUNCTION trg_update_prod_price();
Jeśli usuniesz tabelę, wszystkie dołączone wyzwalacze są usuwane razem z nią. Nie ma potrzeby upuszczania ich osobno.