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

Funkcja wyzwalania Postgres

Przede wszystkim potrzebujesz przed wyzwalacz, jeśli chcesz zmienić wartość aktualizowanego (lub wstawianego) wiersza

Po drugie, nie musisz „aktualizować” tabeli, po prostu przypisz nową wartość do NOWEGO wiersza:

create or replace function pardota_masina_veikals() 
RETURNS trigger 
AS 
$pardota_masina$
begin
  IF NEW.sold=true THEN
    NEW.id_shop = NULL;
 END IF;
RETURN NEW;
END;
$pardota_masina$ 
LANGUAGE plpgsql;

CREATE TRIGGER pardota_masina_nevar_but_veikala 
   BEFORE INSERT OR UPDATE ON masinas 
   FOR EACH ROW EXECUTE PROCEDURE pardota_masina_veikals();



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wskazówki dotyczące najlepszych praktyk w PostgreSQL VACUUM i ANALYZE

  2. Postgres — czy to właściwy sposób na utworzenie częściowego indeksu w kolumnie logicznej?

  3. Dołącz do aliasów kolumn SQL

  4. PostgreSQL:pomiędzy z datetime

  5. PostgreSQL sprawdzający element poprzedniego rekordu