PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak korzystać z wyzwalaczy PostgreSQL?

„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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dowiedz się, czy użytkownik ma uprawnienia do wyboru/aktualizacji/... tabeli/funkcji/... w PostgreSQL

  2. Sprawdź, czy kolumna istnieje, gdy istnieje wiele tabel o tej samej nazwie w różnych schematach (PSQL 8.2)

  3. Pobrać rozmiar dużego obiektu w zapytaniu PostgreSQL?

  4. Django:Zmień TimeField na DateTimeField w models.py

  5. Postgis + boost::geometry + C++